home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / OS2 / PMCOM109.ARJ / PMCOMM.INF (.txt) < prev    next >
OS/2 Help File  |  1991-09-04  |  82KB  |  3,771 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Installation Help ΓòÉΓòÉΓòÉ
  3.  
  4. When Pmcomm is shipped there are two different versions on the disk. The two 
  5. versions are Pmcomm version 1.05 and 1.09. The 1.09 version is to be used if 
  6. using a copy of OS/2 that is 1.2 or later. For OS/2 1.1 Pmcomm 1.05 must be 
  7. used. The two directories on the disk are Pmcom105 and Pmcom109, copy the 
  8. appropriate directory to your hard drive. Also, copy RxPmcomm.dll into a .dll 
  9. directory (i.e. C:\os2\dll). 
  10.  
  11. Pmcomm can be run from a command line by typing pmcomm, but it is recommended 
  12. that it be installed in a "Group". To do this access the Program menu on the 
  13. "Group" menu and chose the New option. This will bring up a dialog box where 
  14. the following information must be entered. 
  15.  
  16. Program title: Pmcomm 
  17.  
  18. Path and filename: user_specified_path\pmcomm.exe 
  19.  
  20. Parameters: setup.dat 
  21.  
  22. Working directory: user_specified_path 
  23.  
  24. Program type: Presentation Manager 
  25.  
  26. The final step is to select the Add option at the bottom of the dialog box. 
  27. Note: setup.dat will be created if not in existence. 
  28.  
  29. There is a program called timer.exe in the Pmcom109 directory that will allow 
  30. you to execute Pmcomm at specifed times. This will allow you to set up a script 
  31. to have Pmcomm dial numbers at certain times and capture mail, download files, 
  32. ect. 
  33.  
  34. To install Pmcomm's Host Mode see Installing_Pmcomm_Host_Mode. 
  35.  
  36.  
  37. ΓòÉΓòÉΓòÉ 2. Extended Help ΓòÉΓòÉΓòÉ
  38.  
  39. There is a collection of utilities in the File section such as; Scripts, 
  40. Capture, Print, Copy, and  Paste. There is also an About box that has 
  41. information on  Multi-Net Communications, the company that wrote this software. 
  42.  
  43. In the Edit section there are commands such as Copy, Paste, and Clear_Screen. 
  44. These commands will help you manipulate on-screen information. 
  45.  
  46. The Connect command allows you to connect to another computer, either through a 
  47. modem, using the Dial command or direct connect, using the Send_Break command. 
  48.  
  49. Transfer allows the use of different protocols to send and receive files to or 
  50. from a remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  51. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, ASCII, and 
  52. IND$FILE (for downloads). Zmodem is probably the best selection when available 
  53. on the remote computer. Ymodem-G should only be used with error correcting 
  54. modems. 
  55.  
  56. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  57. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  58. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  59. slower, because Pmcomm has to get the modem into the command state before 
  60. sending the hang-up string. If you have DTR on and delete the hangup string the 
  61. hang-up will be much faster. 
  62.  
  63. Option allows you to tailor Pmcomm to your own tastes. The areas in option are 
  64. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Status_Line, 
  65. Terminal, and Chat. The setup is not automatically saved. This allows you to 
  66. change things temporally without changing your default setup file. If you do 
  67. want to make the  changes permanent be sure to save the setup file. To save the 
  68. current setup file,  use the Save_setup command under the File menu option. 
  69.  
  70. Macros allows you to pick, with a mouse, the macro you wish to send. Macros can 
  71. also be selected with an Alt+corresponding number keystroke. Pmcomm allows you 
  72. to set up ten different macros. Scripts can be executed from macros by using 
  73. the shell command. An example of this would be: 
  74.  
  75. shell("c:\pmcomm\plane.cmd"); 
  76.  
  77. This would execute the REXX script called plane.cmd. This allows you a quick 
  78. and easy way to execute often used scripts. 
  79.  
  80.  
  81. ΓòÉΓòÉΓòÉ 2.1. Keys Help ΓòÉΓòÉΓòÉ
  82.  
  83. The following is a list of "Hot keys" available. 
  84.  
  85.   F1      =   Help. 
  86.  
  87.   F3      =   Exit. 
  88.  
  89.   Alt-D     =   Dialing directory. 
  90.  
  91.   Alt-H     =   Hangup. 
  92.  
  93.   Alt-Q     =   Dial Queue entries. 
  94.  
  95.   Alt-X     =   Exit. 
  96.  
  97.   Ctrl-Break  =   Send break. 
  98.  
  99.   Ctrl-Insert  =   Copy. 
  100.  
  101.   Shift-Insert  =  Paste. 
  102.  
  103.   Page-Dn   =   Download. 
  104.  
  105.   Page-Up   =   Upload. 
  106.  
  107.   Print Scrn  =   Prints text in the visible 
  108.            window (full line length). 
  109.  
  110.  The up and down arrow keys default to scrolling the window. You can change 
  111.  this in the setup terminal dialog box so that when in ANSI mode the arrow keys 
  112.  will be sent to the modem. 
  113.  
  114.  In VT100 mode, some keys have been changed to try to closely emulate the VT100 
  115.  keyboard. F1-F4 are now the PF keys. Because of this the F1 key will not 
  116.  display the normal help, and F3 will not exit the program. The PF keys will 
  117.  send the following characters: 
  118.  
  119.    F1 = ESCOP 
  120.  
  121.    F2 = ESCOQ 
  122.  
  123.    F3 = ESCOR 
  124.  
  125.    F4 = ESCOS 
  126.  
  127.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  128.  be available. When the num lock key is off the numerical key pad will be in 
  129.  the application mode. If you are connecting to a VT220 Host you can use these 
  130.  keys to send the VT220 PF key values. For example pressing the 1 on the 
  131.  numeric key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key 
  132.  pad will send the VT220 PF3 key, and so on. With the num lock on the numbers 
  133.  will be sent. The plus key has been re-mapped to be a comma, again to be 
  134.  compatible with the VT100 keyboard. 
  135.  
  136.  
  137. ΓòÉΓòÉΓòÉ 3. File ΓòÉΓòÉΓòÉ
  138.  
  139. There is a collection of utilities in this section such as; Save_setup, 
  140. Scripts, Capture, Print, Copy, and  Paste. There is also an About box that has 
  141. information on  Multi-Net Communications, the company that wrote this software. 
  142.  
  143.  
  144. ΓòÉΓòÉΓòÉ 3.1. Save Setup ΓòÉΓòÉΓòÉ
  145.  
  146. Saves user definable configurations as well as screen size and position. 
  147.  
  148.  
  149. ΓòÉΓòÉΓòÉ 3.2. Capture ΓòÉΓòÉΓòÉ
  150.  
  151. Capture saves everything that is received from the modem to a file. For 
  152. example, you can capture all new messages and then read them after  you hang 
  153. up. If you specify PRN as the filename everything will be captured to the 
  154. printer. If you have Monitor_DCD selected then the capture file will be closed 
  155. when you log off. This will happen if you started the capture file from the 
  156. menu or from a internal script. 
  157.  
  158.  
  159. ΓòÉΓòÉΓòÉ 3.2.1. Start Capture ΓòÉΓòÉΓòÉ
  160.  
  161. You will be prompted for a file name and then everything that comes in from the 
  162. modem will be saved to that file. If PRN is selected then everything will be 
  163. sent to the printer. If the file exists you will be asked if you wish to 
  164. overwrite the file. If you select no, the new information will be appended to 
  165. the end of the file. Select cancel if you wish to abort the capture. 
  166.  
  167. You may also start the capture by clicking on the disk drive icon located on 
  168. the Status_Line. 
  169.  
  170.  
  171. ΓòÉΓòÉΓòÉ 3.2.2. Cancel Capture ΓòÉΓòÉΓòÉ
  172.  
  173. This command will turn off capture. This command will only work if capture was 
  174. started with the Start_Capture command. 
  175.  
  176. You may also cancel the capture command by clicking on the disk drive icon 
  177. located on the Status_Line. 
  178.  
  179.  
  180. ΓòÉΓòÉΓòÉ 3.3. Scripts ΓòÉΓòÉΓòÉ
  181.  
  182. Scripts allow you to have the computer perform certain tasks automatically. The 
  183. internal commands available are: 
  184.  
  185.  wait_for 
  186.  puts 
  187.  sleep 
  188.  call 
  189.  capture_on 
  190.  capture_off 
  191.  shell 
  192.  
  193.  The REXX commands that are available are: 
  194.  
  195.  init_dll 
  196.  setcom 
  197.  sendb 
  198.  dcd 
  199.  char_avail 
  200.  read_timeout 
  201.  Get_ch 
  202.  ring_detect 
  203.  drop_dtr 
  204.  raise_dtr 
  205.  Wait_for 
  206.  Wait_fore 
  207.  Put_s 
  208.  Sleep 
  209.  beep 
  210.  get_cursor_position 
  211.  get_char_at 
  212.  capture_on 
  213.  capture_off 
  214.  xmodem_send 
  215.  xmodem_receive 
  216.  xmodem_chk_send 
  217.  xmodem_chk_receive 
  218.  xmodem_1k_send 
  219.  xmodem_1k_receive 
  220.  ymodem_send 
  221.  ymodem_receive 
  222.  ymodemg_send 
  223.  ymodemg_receive 
  224.  zmodem_send 
  225.  zmodem_receive 
  226.  kermit_send 
  227.  kermit_receive 
  228.  ascii_send 
  229.  ascii_receive 
  230.  cisb_send 
  231.  cisb_receive 
  232.  set_download_path 
  233.  os2_shell 
  234.  
  235.  The 'C' library commands that are available are: 
  236.  
  237.  init_lib 
  238.  setcom 
  239.  sendb 
  240.  dcd 
  241.  char_avail 
  242.  read_timeout 
  243.  get_ch 
  244.  ring_detect 
  245.  drop_dtr 
  246.  raise_dtr 
  247.  wait_for 
  248.  wait_fore 
  249.  put_s 
  250.  sleep 
  251.  beep 
  252.  get_cursor_position 
  253.  get_char_at 
  254.  capture_on 
  255.  capture_off 
  256.  xmodem_send 
  257.  xmodem_receive 
  258.  xmodem_chk_send 
  259.  xmodem_chk_receive 
  260.  xmodem_1k_send 
  261.  xmodem_1k_receive 
  262.  ymodem_send 
  263.  ymodem_receive 
  264.  ymodemg_send 
  265.  ymodemg_receive 
  266.  zmodem_send 
  267.  zmodem_receive 
  268.  kermit_send 
  269.  kermit_receive 
  270.  ascii_send 
  271.  ascii_receive 
  272.  cisb_send 
  273.  cisb_receive 
  274.  set_download_path 
  275.  os2_shell 
  276.  
  277.  The scripts command is only available in the commercial version of Pmcomm. 
  278.  
  279.  
  280. ΓòÉΓòÉΓòÉ 3.3.1. Start Scripts ΓòÉΓòÉΓòÉ
  281.  
  282.  With this command you can start a pre-written script at any time, just enter 
  283. the file name of the script when prompted. If only the file name is entered, 
  284. the script path will be searched for the file. Full path and file names are 
  285. allowed. 
  286.  
  287. You may also start a script be clicking on the book icon located on the 
  288. Status_Line. 
  289.  
  290.  
  291. ΓòÉΓòÉΓòÉ 3.3.2. Script Dialog ΓòÉΓòÉΓòÉ
  292.  
  293. The Script Dialog displays information and options about the current script. 
  294. When the dialog is displayed you have the option of either aborting the script, 
  295. closing the dialog box, or skipping the currently executing command. 
  296.  
  297.  
  298. ΓòÉΓòÉΓòÉ 3.3.3. Cancel Script ΓòÉΓòÉΓòÉ
  299.  
  300. This command is used to stop a script that is already running. The script will 
  301. be canceled at the time this is selected unless the script is at a sleep 
  302. command. In this case the script will stop after the sleep time interval has 
  303. expired. 
  304.  
  305. You may also cancel a script by clicking on the book icon located on the 
  306. Status_Line. 
  307.  
  308.  
  309. ΓòÉΓòÉΓòÉ 3.3.4. Start Script Generator ΓòÉΓòÉΓòÉ
  310.  
  311. This is the command that executes Pmcomm's script generator. The script 
  312. generator will write a script in either REXX or Internal script syntax. If you 
  313. want a script that will log you on to a BBS turn the script generator on and 
  314. log on normally. Once finished logging on cancel the script generator. You now 
  315. have a script that will log you onto that BBS. 
  316.  
  317. You may also start the script generator by clicking on the generator icon 
  318. located on the Status_Line. 
  319.  
  320.  
  321. ΓòÉΓòÉΓòÉ <hidden> Filename ΓòÉΓòÉΓòÉ
  322.  
  323. Pmcomm allows you to choose either a path and filename or just the filename. If 
  324. only the filename is entered, Pmcomm will use the script directory that is 
  325. setup under the Paths option. Be sure that all REXX scripts have an extension 
  326. of .cmd and all Internal scripts have an extension of .scr. If these extensions 
  327. are not used Pmcomm will create the script but the script will not be able to 
  328. be executed. 
  329.  
  330.  
  331. ΓòÉΓòÉΓòÉ <hidden> Description ΓòÉΓòÉΓòÉ
  332.  
  333. This description will appear as the first line of the script. The description 
  334. will hopefully avoid any confusion about the purpose of the script a later 
  335. date. 
  336.  
  337.  
  338. ΓòÉΓòÉΓòÉ <hidden> REXX Script ΓòÉΓòÉΓòÉ
  339.  
  340. This will create a script using the REXX language. The filename must have an 
  341. extension of .cmd in order for it to be executed by the REXX interpreter. A 
  342. REXX script will execute a little slower than an Internal script, but it is 
  343. more flexible. 
  344.  
  345.  
  346. ΓòÉΓòÉΓòÉ <hidden> Internal Script ΓòÉΓòÉΓòÉ
  347.  
  348. This will create a script using Pmcomm's Internal script syntax. The filename 
  349. must have an .scr extension in order for it to be executed by Pmcomm. 
  350.  
  351.  
  352. ΓòÉΓòÉΓòÉ <hidden> Number of Characters in wait_fore ΓòÉΓòÉΓòÉ
  353.  
  354. The Number of Characters in wait_fore will decide the length of the wait_fore 
  355. statements. The default is 10 characters which for most purposes will be 
  356. adequate. 
  357.  
  358.  
  359. ΓòÉΓòÉΓòÉ 3.3.5. Cancel Script Generator ΓòÉΓòÉΓòÉ
  360.  
  361. This command turns of the script generator. You can also cancel the script 
  362. generator by clicking on the generator icon located on the Status_Line. 
  363.  
  364.  
  365. ΓòÉΓòÉΓòÉ 3.4. Log File  ΓòÉΓòÉΓòÉ
  366.  
  367. Logging writes to a file named pmcomm.log in the main pmcomm directory. The 
  368. type of information written is the time, date and name of the number  called. 
  369. The time, date, cps and name of files transferred will also be saved. If you 
  370. are setup  to monitor DCD the time and date of when the call was terminated 
  371. will also be recorded. 
  372.  
  373.  
  374. ΓòÉΓòÉΓòÉ 3.4.1. Start Logging ΓòÉΓòÉΓòÉ
  375.  
  376. The file named pmcomm.log in the main pmcomm directory will be opened. Any 
  377. logging information will be appended to the end of the file. 
  378.  
  379.  
  380. ΓòÉΓòÉΓòÉ 3.4.2. Cancel Logging ΓòÉΓòÉΓòÉ
  381.  
  382. The log file will be closed and no other information will be written to the log 
  383. file until it is re-opened using the Start Log option. 
  384.  
  385. You may also cancel logging by clicking on the log icon located on the 
  386. Status_Line. 
  387.  
  388.  
  389. ΓòÉΓòÉΓòÉ 3.5. File Import ΓòÉΓòÉΓòÉ
  390.  
  391. This command copies a file from disk and sends it to a remotely connected 
  392. computer. This can be handy for sending previously saved files as messages, or 
  393. during a chat session. At times this is handier then using the clipboard. The 
  394. delay time specified in the file import delay parameter under Options, 
  395. Protocols, will pause the specified number of seconds after each line has been 
  396. sent. This can be useful if the receiver can not process the information as 
  397. fast as Pmcomm can send it. 
  398.  
  399.  
  400. ΓòÉΓòÉΓòÉ 3.6. Print ΓòÉΓòÉΓòÉ
  401.  
  402. Print allows you to send information that was previously received out to the 
  403. printer. You can either send the information that is displayed on the visible 
  404. part of the window, or you can print the whole scroll back buffer. The print 
  405. function uses PRN as the device name for printing. 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 3.6.1. Print visible screen ΓòÉΓòÉΓòÉ
  409.  
  410. This command can also sent by pressing the Print Screen key. When Pmcomm 
  411. receives this message it prints all of the lines on the visible part of the 
  412. screen. 
  413.  
  414.  
  415. ΓòÉΓòÉΓòÉ 3.6.2. Print buffer ΓòÉΓòÉΓòÉ
  416.  
  417. When this is selected all of the scroll back buffer is sent out to the printer. 
  418. There are about 240 lines available in the scroll back buffer, so this command 
  419. may take awhile to complete. This does not mean that you can't do anything 
  420. else. Pmcomm will print in the background while you go on. 
  421.  
  422.  
  423. ΓòÉΓòÉΓòÉ 3.6.3. Print selected ΓòÉΓòÉΓòÉ
  424.  
  425. This will print previously selected text (by using the mouse) to the PRN 
  426. device. 
  427.  
  428. You may also print any selected text by clicking on the printer icon located on 
  429. the Status_Line. 
  430.  
  431.  
  432. ΓòÉΓòÉΓòÉ 3.6.4. Print continuous ΓòÉΓòÉΓòÉ
  433.  
  434. This will print everything that comes in from the com port to the PRN device. 
  435. Start continuous printing 
  436.  
  437. This will start continuous printing. Everything will be printed to the PRN 
  438. device. It is not recommended that you use this command unless you have the 
  439. OS/2 print spooler active. 
  440.  
  441. You may also start continuous printing by clicking on the printer icon located 
  442. on the Status_Line. 
  443. Cancel continuous printing 
  444.  
  445. This will cancel printing, that was started with the Start continuous printing 
  446. command. 
  447.  
  448. You may also cancel continuous printing by clicking on the printer icon located 
  449. on the Status_Line. 
  450.  
  451.  
  452. ΓòÉΓòÉΓòÉ 3.7. About ΓòÉΓòÉΓòÉ
  453.  
  454. The about box has information about this program, such as BBS support telephone 
  455. number, company name, version number, serial number, and copyright information. 
  456.  
  457.  
  458. ΓòÉΓòÉΓòÉ 3.8. Exit ΓòÉΓòÉΓòÉ
  459.  
  460. Ends current session with Pmcomm. Pmcomm closes the comport when exiting which 
  461. drops DTR. The hang-up string is also sent to the modem. 
  462.  
  463.  
  464. ΓòÉΓòÉΓòÉ 4. Edit ΓòÉΓòÉΓòÉ
  465.  
  466. In this section there are commands such as Copy, Paste, and Clear_Screen. 
  467.  
  468.  
  469. ΓòÉΓòÉΓòÉ 4.1. Copy ΓòÉΓòÉΓòÉ
  470.  
  471. Copy transfers information from the screen and places it into the Clipboard. 
  472. Other applications, such as a word processor, can then use this information. 
  473.  
  474.  
  475. ΓòÉΓòÉΓòÉ 4.2. Paste ΓòÉΓòÉΓòÉ
  476.  
  477. Paste, copies information from the clipboard and sends it out to the modem. 
  478. Care must be taken that the information sent can be handled by the remote 
  479. computer. A use for this command would be that you could enter a message in a 
  480. word processor, copy that message into the clipboard and then paste it into 
  481. Pmcomm. 
  482.  
  483.  
  484. ΓòÉΓòÉΓòÉ 4.3. Clear Screen ΓòÉΓòÉΓòÉ
  485.  
  486. Clears the whole screen including the scroll back buffer and resets the 
  487. attribute to the attribute defined in the setup area. 
  488.  
  489.  
  490. ΓòÉΓòÉΓòÉ 5. Connect ΓòÉΓòÉΓòÉ
  491.  
  492. This command allows you to connect to another computer, either through a modem, 
  493. using the Dial command or direct connect, using the Send_Break command. 
  494.  
  495.  
  496. ΓòÉΓòÉΓòÉ 5.1. Dial ΓòÉΓòÉΓòÉ
  497.  
  498. Dial uses a dialing_directory to store phone numbers and other information 
  499. about the computer. 
  500.  
  501.  
  502. ΓòÉΓòÉΓòÉ 5.1.1. Dial Dialog Help ΓòÉΓòÉΓòÉ
  503.  
  504. The dial dialog box allows you to add, select, modify, or delete entries in the 
  505. current dialing directory. An entry can also be selected to be automatically 
  506. selected (or optionally dialed) when Pmcomm is first started. 
  507.  
  508. To add an entry, select the add button in the dialog box. You will  then be 
  509. prompted to enter the name of the new entry. The directory will be sorted and 
  510. the new entry will be selected. The cursor will be positioned at the number 
  511. entry field so that the number for the new entry can be entered. After the 
  512. number has been entered, pressing the enter key will save the dialing directory 
  513. and dial the number(s). Pressing the tab key will allow you to edit the other 
  514. fields. 
  515.  
  516. To select a number, using a mouse, "click" on the number (or numbers) that you 
  517. wish  to dial. To de-select an entry "click" on the number once again. If you 
  518. are not using a mouse the arrow keys will move the highlight bar through the 
  519. directory. To select your choices press the space bar, a second time will 
  520. de-select the entry, then press enter. Multiple entries may be selected. This 
  521. will form a dialing queue, in which Pmcomm will dial the selected entries until 
  522. a connection is made. 
  523.  
  524. To modify an entry, select the entry to be edited and then use the tab key to 
  525. move the cursor to the field you wish to change. Use the Change button to 
  526. change the name of an entry. Pressing the save button will save the 
  527. modifications to the disk. 
  528.  
  529. To change a name, select the entry to be edited and then use press the change 
  530. button. The change will automatically be saved to the disk. 
  531.  
  532. To delete an entry, select the entry to be deleted and select the delete button 
  533. in the dialog box. 
  534.  
  535. CAUTION:
  536. If multiple entries are selected, only the first selected entry will be 
  537. deleted. 
  538.  
  539. The dial dialog box can also be accessed by clicking on the phone icon on the 
  540. Status_Line. 
  541.  
  542.  
  543. ΓòÉΓòÉΓòÉ 5.1.2. Dial Prefix ΓòÉΓòÉΓòÉ
  544.  
  545. Pmcomm sends the selected dial prefix to the modem before sending the phone 
  546. number. The default string for the prefixes is ATDT which tells the modem to 
  547. dial using tone (ie. touch tone). If your phone system does not support touch 
  548. tone then you could use the ATDP command. Pmcomm allows you to setup multiple 
  549. prefixes, so that if you need to dial a special code for long distance calls 
  550. you can set up a separate prefix for those calls. 
  551.  
  552.  
  553. ΓòÉΓòÉΓòÉ 5.1.3. Dial Suffix ΓòÉΓòÉΓòÉ
  554.  
  555. Pmcomm sends the selected dial suffix to the modem after sending the phone 
  556. number. The default string for the suffixes is ^M which is a carriage return 
  557. and line feed. 
  558.  
  559.  
  560. ΓòÉΓòÉΓòÉ 5.1.4. Automatically Selected ΓòÉΓòÉΓòÉ
  561.  
  562. If a dialing entry is marked as being automatically selected then each time 
  563. Pmcomm is started this entry will be selected to be dialed. You can have as 
  564. many entries automatically selected as you want, and this will form a dialing 
  565. queue. A dialing queue allows you to try the first number and if it is busy it 
  566. will then dial the next number in the queue. If the Dial Auto Selected Entries 
  567. on program Startup is selected then any entries in the dialing directory that 
  568. are marked as auto selected, will automatically be dialed. This option will 
  569. allow you to automatically dial selected numbers when Pmcomm is first invoked. 
  570.  
  571.  
  572. ΓòÉΓòÉΓòÉ 5.1.5. Dial List Box ΓòÉΓòÉΓòÉ
  573.  
  574. The Dial List Box is a multiple selection list box. This means that you can 
  575. select more then one entry at a time. The information on the right side of the 
  576. Dialog Box is on the first item selected. The reason for using a multiple 
  577. selection list box, is that you can select more than one item and these items 
  578. will be dialed in order. For example, if the first number selected is busy then 
  579. Pmcomm will dial the next number selected. If all selected numbers are busy, 
  580. Pmcomm will start over again. If you have multiple items selected and select 
  581. the Delete button, only the first item will be deleted. If an item is selected 
  582. and you double click on that item then the selected items will be dialed. 
  583.  
  584.  
  585. ΓòÉΓòÉΓòÉ 5.1.6. Baud Rate ΓòÉΓòÉΓòÉ
  586.  
  587. In the Dialing Dialog Box you can enter any baud supported by the device driver 
  588. you are using. Currently the maximum baud rate supported by the device driver 
  589. included with OS/2 is 19200. Commonly used baud rates are: 300, 1200, 2400, 
  590. 9600, and 19200. There are some device drivers currently available that support 
  591. up to 38400. To enter a baud rate, type in a valid baud rate. The com port will 
  592. be set to this value when the phone number is dialed. In the Port Options 
  593. Dialog Box the above mentioned baud rates can be selected by using the radio 
  594. buttons. 
  595.  
  596.  
  597. ΓòÉΓòÉΓòÉ 5.1.7. Parity ΓòÉΓòÉΓòÉ
  598.  
  599. The supported parities are: None, Even, Odd, Marked, and Space. To enter a 
  600. parity, type in one of the above words. The two most widely used parities are 
  601. None and Even. If you are calling most BBS's you would want to enter None, but 
  602. most packet networks (such as CompuServe and Telenet) normally require Even 
  603. parity. 
  604.  
  605.  
  606. ΓòÉΓòÉΓòÉ 5.1.8. Data Bits ΓòÉΓòÉΓòÉ
  607.  
  608. Currently supported data bits are 5, 6, 7, and 8. The most popular values are 7 
  609. and 8. For most BBS's 8 data bits are necessary, however, for systems such as 
  610. CompuServe, 7 data bits are required. 
  611.  
  612.  
  613. ΓòÉΓòÉΓòÉ 5.1.9. Stop Bits ΓòÉΓòÉΓòÉ
  614.  
  615. Currently supported stop bits are 1 and 2. Most systems will require 1 stop 
  616. bit. 
  617.  
  618.  
  619. ΓòÉΓòÉΓòÉ 5.1.10. Dial Script ΓòÉΓòÉΓòÉ
  620.  
  621. The script name can be up to 12 characters long. The script must be in the 
  622. script path (see Paths for more information). Any REXX script, Internal script, 
  623. or any OS/2 executable can be executed. Once Pmcomm is connected to the remote 
  624. computer this script will be executed. 
  625.  
  626.  
  627. ΓòÉΓòÉΓòÉ 5.1.11. Dial Terminal ΓòÉΓòÉΓòÉ
  628.  
  629. The currently available terminal emulations are TTY, ANSI, and VT100. Pmcomm 
  630. will switch to the terminal emulation listed once connected to the remote 
  631. computer. 
  632.  
  633.  
  634. ΓòÉΓòÉΓòÉ 5.2. Send Break ΓòÉΓòÉΓòÉ
  635.  
  636. Initializes a connection with another computer through a protocol converter. 
  637.  
  638.  
  639. ΓòÉΓòÉΓòÉ 6. Transfer ΓòÉΓòÉΓòÉ
  640.  
  641. Transfer allows the use of different protocols to send and receive files from a 
  642. remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  643. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, and ASCII. 
  644. Zmodem is probably the best selection, when available on the remote computer. 
  645. Ymodem-G should only be used with error correcting modems. 
  646.  
  647. IND$FILE is available for downloads using the VT100 terminal emulation only. 
  648.  
  649. CAUTION:
  650. IND$FILE currently does not have any error detection available in Pmcomm. 
  651.  
  652.  
  653. ΓòÉΓòÉΓòÉ 6.1. Download ΓòÉΓòÉΓòÉ
  654.  
  655. The download command brings up a dialog box for you to select the proper 
  656. protocol. If the protocol selected is not a batch protocol ( ASCII, 
  657. Xmodem_Checksum, Xmodem_CRC or 1K-Xmodem ) you will be prompted for a filename. 
  658. If you have Auto-Zmodem or Auto_CISB selected in the protocol options area, 
  659. Pmcomm will automatically start transferring as soon as the remote computer 
  660. starts to send. Zmodem is not available in the demonstration version. 
  661.  
  662.  
  663. ΓòÉΓòÉΓòÉ 6.2. Upload ΓòÉΓòÉΓòÉ
  664.  
  665. When sending a file to a remote computer you must select the same protocol that 
  666. the remote computer will use to receive the file. After selecting the proper 
  667. protocol, a file open dialog box will have you select the file you wish to 
  668. send. You can either double click on the file name or select the file and click 
  669. on the OK button. If you have Auto_CISB selected in the protocol options area, 
  670. Pmcomm will automatically start the transfer as soon as the remote computer 
  671. sends the transfer request. With a CISB transfer the filename is specified on 
  672. the host and the file open dialog box is not displayed. 
  673.  
  674. You may also use the drag and drop feature of Pmcomm. When files are dragged 
  675. from the file manager and dropped onto Pmcomm, the transfer protocol that is 
  676. listed for that phone number will be invoked and the file(s) will be sent to 
  677. the remote computer. If you have Monitor_DCD selected then drag options will 
  678. not be allowed until connected with another computer. 
  679.  
  680. To drag files from the file manager, select a file (or files) and then click on 
  681. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  682. you have begun to drag the files with the mouse the mouse pointer will change 
  683. shape. If the mouse pointer is over a program that does not accept drag and 
  684. drop the pointer will again change shape. When the mouse pointer is over any 
  685. part of Pmcomm you can release the right mouse button. This will drop the files 
  686. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  687. icon. 
  688.  
  689. To change the protocol for the current phone number, select upload from the 
  690. menu and then select the protocol you want (make sure that the save to dialing 
  691. directory is selected). After pressing the OK button the file open dialog box 
  692. will be displayed. Just press cancel and you can now use the drag and drop with 
  693. the new protocol. 
  694.  
  695. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  696. will be used as a setup file, and Pmcomm will be invoked. 
  697.  
  698.  
  699. ΓòÉΓòÉΓòÉ 6.2.1. Xmodem Checksum ΓòÉΓòÉΓòÉ
  700.  
  701. Xmodem Checksum is one of the oldest protocols around and some people still use 
  702. it exclusively. It is a moderately fast protocol that has fairly good error 
  703. detection. 
  704.  
  705.  
  706. ΓòÉΓòÉΓòÉ 6.2.2. Xmodem CRC ΓòÉΓòÉΓòÉ
  707.  
  708. Xmodem CRC and Xmodem_Checksum are similar except CRC has better error 
  709. detection then Checksum. Almost anywhere you call will offer at least one of 
  710. these protocols. 
  711.  
  712.  
  713. ΓòÉΓòÉΓòÉ 6.2.3. 1k-Xmodem ΓòÉΓòÉΓòÉ
  714.  
  715. 1k-Xmodem uses the same error detection as Xmodem_CRC, but uses 1024 byte 
  716. blocks instead of 128 byte blocks. This allows for greater throughput (higher 
  717. characters per second) with roughly the same error detection. 
  718.  
  719.  
  720. ΓòÉΓòÉΓòÉ 6.2.4. Ymodem ΓòÉΓòÉΓòÉ
  721.  
  722. Ymodem uses the same error detection and block size as 1k-Xmodem but is a batch 
  723. protocol. This means that in the first block the file size and name are sent. 
  724. This keeps the receiver from having to type in the filename. It also allows you 
  725. to send more then one file without have to start the transfer again. This 
  726. protocol is second to Zmodem, in our opinion, when using non-error correcting 
  727. modems. 
  728.  
  729.  
  730. ΓòÉΓòÉΓòÉ 6.2.5. Ymodem-g ΓòÉΓòÉΓòÉ
  731.  
  732. Ymodem-g is identical to Ymodem except it has no error correction. If an error 
  733. is detected the transfer aborts. Because of this Ymodem-g should only be used 
  734. with error correcting modems. Pmcomm will allow you to use this protocol 
  735. anytime, but again care should be taken on what hardware it is used with. With 
  736. the proper hardware Ymodem-g has the fastest cps (characters per second). 
  737.  
  738.  
  739. ΓòÉΓòÉΓòÉ 6.2.6. Zmodem ΓòÉΓòÉΓòÉ
  740.  
  741. Zmodem is almost as fast as Ymodem-g, however Zmodem does support error 
  742. correction and file recovery. It only takes one aborted Ymodem-g transfer to 
  743. lose all it's advantages. Zmodem has many advantages as far as the user is 
  744. concerned. It is probably the easiest protocol to use. If using Pmcomm with the 
  745. Auto-Zmodem download feature, the whole download is done automatically from the 
  746. Pmcomm end. You have to select the file from the sender (BBS etc..) and once 
  747. the sender starts sending, the transfer will begin on Pmcomm. It may take a 
  748. moment before the sender sends the first sequence, so wait a moment. Some of 
  749. the advanced features of Zmodem are listed below. Zmodem supports: 
  750.  
  751.   1. CRC-32 and CRC-16. The additional error detection of 32 bit CRC is 
  752.      supported. 
  753.  
  754.   2. File recovery. If a Zmodem download is aborted for any reason the transfer 
  755.      will resume at the point where it was  aborted. You don't have to start 
  756.      the whole transfer over. 
  757.  
  758.   3. Auto-Download. When a Zmodem sending program starts up it first sends a rz 
  759.      and then a carriage return. Pmcomm will monitor for the startup sequence 
  760.      and automatically start the Zmodem download. Great care has been taken to 
  761.      make sure that it really is a Zmodem transfer and not someone typing it in 
  762.      at the keyboard (at either end). This feature makes downloading with 
  763.      Zmodem much faster and much easier. 
  764.  
  765.   4. Variable length headers. This reduces the amount of overhead that accrues 
  766.      with sending Zmodem headers. This is only used if supported by both the 
  767.      sender and receiver. 
  768.  
  769.   5. RLE encoding. Run length encoding is a form of file compression. Instead 
  770.      of sending 20 spaces it will send a space and the number 20. The receiver 
  771.      will then decompress it. Because of the multi-thread (tasking) 
  772.      capabilities of OS/2 this works much better then with DOS. This also is 
  773.      only used if supported by both the sender and receiver. 
  774.  
  775.   6. Variable length receive buffers. Some Zmodem receive programs have 
  776.      problems with writing to the disk and receiving from the comport at the 
  777.      same time. If necessary Zmodem will wait for an ACK from the receiver 
  778.      after the specified buffer size has been sent. This will only be done if 
  779.      it is requested by the receiver requests it. 
  780.  
  781.   7. Retains original file size. Some people say that because Zmodem headers 
  782.      are larger that there is two much overhead. This really isn't the case. 
  783.      For example if comparing Zmodem to Ymodem-g (full flow Ymodem), Ymodem-g 
  784.      has less overhead with each packet. However Ymodem-g rounds the file size 
  785.      up to an even 128 byte size. In some cases it is even rounded up 1024 
  786.      bytes. This is done because Ymodem (g or otherwise) only supports two 
  787.      block sizes, 128 and 1024 (the block size is actually 133 and 1029 to 
  788.      allow for the block header, STX or SOH, and the CRC value), so it has to 
  789.      send full blocks. However, Zmodem uses variable  block sizes. The block 
  790.      sizes adjust from 32 bytes to 1024 bytes. If telephone line quality is 
  791.      poor smaller blocks are sent so that if an error does occur less data will 
  792.      have to be resent. As the line quality improves the size of the blocks 
  793.      will be increased. The starting block size is variable depending on the 
  794.      connected baud rate. 
  795.  
  796.   8. Error recovery. Because Zmodem can resend from any place in the file, 
  797.      aborted transfers are rare. 
  798.  
  799.  By reading this you can tell our favorite protocol is Zmodem. Once you have 
  800.  used Zmodem it's hard to get used to using other protocols. 
  801.  
  802.  
  803. ΓòÉΓòÉΓòÉ 6.2.7. ASCII ΓòÉΓòÉΓòÉ
  804.  
  805. The ASCII protocol can be used to transfer text files. There is no error 
  806. detection or correction available with this protocol. It is recommended that 
  807. one of the other protocols be used, even with text files. 
  808.  
  809.  
  810. ΓòÉΓòÉΓòÉ 6.2.8. CISB ΓòÉΓòÉΓòÉ
  811.  
  812. The CIS B protocol can be used to transfer files to and from CompuServe. 
  813. CompuServe B, B+ and Quick B are supported. Quick B is the fastest variant of 
  814. the B protocol and is automatically selected when it is supported on the host 
  815. computer. The CIS B protocol is an automatic protocol where the host initiates 
  816. the transfer and Pmcomm will automatically go into the send or receive mode. If 
  817. you are sending a file, the file must exist in the download directory of 
  818. Pmcomm. If Pmcomm is unable to find the file then the transfer will abort. 
  819. Pmcomm can be configured to ignore the CIS B protocol by de-selecting the 
  820. Automatic CIS B option in the Protocol Option Dialog. Pmcomm may run slightly 
  821. faster in terminal mode without this selection. Under most systems the 
  822. difference will not be detectable. 
  823.  
  824. Another option for CIS B is for file recovery. What this option will do is if 
  825. you started a download and aborted the transfer you can then re-start the 
  826. transfer and CIS B will resume from the place where it was aborted. This can be 
  827. very handy in poor phone line conditions. The packet size for CIS B is adjusted 
  828. by the connecting baud rate. For example, if you are connected to CompuServe at 
  829. 2400 baud the packet size will be 1024 bytes. If you connect at 1200 baud the 
  830. packet size will be 512 bytes. This allows for speedy error recovery in case a 
  831. error occurs because of phone line noise. Downloads will automatically be 
  832. placed in the Pmcomm download directory and the download directory will 
  833. automatically searched for any uploaded files. If you specify a path with the 
  834. filename when  CompuServe asks for a filename for your computer, then this path 
  835. will be used. CIS B should be the protocol used when transferring files to and 
  836. from CompuServe. 
  837.  
  838.  
  839. ΓòÉΓòÉΓòÉ 6.2.9. Kermit ΓòÉΓòÉΓòÉ
  840.  
  841. Kermit is the slowest protocol offered here and should only be used when no 
  842. other protocol is available. Kermit does have advantages and it is offered on 
  843. many mini-computers as well as mainframes. Kermit will also transfer binary 
  844. files when connected at 7,E,1. The maximum packet size that is allowed is 94 
  845. bytes which is one of the reasons that makes Kermit slow. There is a variation 
  846. of Kermit that allows larger packet size, but it is not implemented in Pmcomm. 
  847. Kermit allows batch transfers, both in sending and receiving, and will attempt 
  848. to preserve the file names. If Pmcomm gets an error when trying to create the 
  849. file name received from the sender it will convert it to a "8.3" type of file 
  850. name. Kermit allows variable packet sizes so the original file size is 
  851. maintained. 
  852.  
  853. Pmcomm allows you to change the "End of Line" character (also called end of 
  854. packet), the "Quoting character" (sent before control codes), the "pad 
  855. character", and the number of pad characters you want. You can also tell Pmcomm 
  856. to force an 8 bit transfer even if it is on at 7,E,1. This comes in handy if 
  857. you are downloading files from Compu-Serve. If this option is not selected and 
  858. you are on at 7 data bits, Pmcomm will use what is called the 7 bit quoting. 
  859. The 7 bit quote character that Pmcomm uses is a &. 
  860.  
  861.  
  862. ΓòÉΓòÉΓòÉ 6.2.10. IND$FILE ΓòÉΓòÉΓòÉ
  863.  
  864. IND$FILE currently is only supported under VT100 terminal emulation through a 
  865. 3708 protocol converter. Because of problems with character conversion through 
  866. the protocol converter error detection is not currently available. Because of 
  867. this, files received using IND$FILE maybe CORRUPTED! Use this protocol at your 
  868. own risk! IND$FILE is not a very efficient protocol because every byte that is 
  869. transferred must be checked to see if it will pass through a 7 bit data stream 
  870. and escaped if it will not. This can greatly reduce the amount of data that can 
  871. be sent in each packet. 
  872.  
  873.  
  874. ΓòÉΓòÉΓòÉ <hidden> PC File Name ΓòÉΓòÉΓòÉ
  875.  
  876. This is the file name which will be used on the receiver. If a full path and 
  877. file name are used the file will reside at that address. If just a file name is 
  878. specified the file will be stored in the upload directory set in the Paths menu 
  879. option. This file name must be specified or the transfer will not work. 
  880.  
  881.  
  882. ΓòÉΓòÉΓòÉ <hidden> Host File Name ΓòÉΓòÉΓòÉ
  883.  
  884. This is the file name as it resides on the Host. If this filename is not 
  885. specified, Pmcomm will default to the PC File Name as the Host File Name. 
  886.  
  887.  
  888. ΓòÉΓòÉΓòÉ <hidden> Binary ΓòÉΓòÉΓòÉ
  889.  
  890. This option will tell the Host to send the file as a Binary file. 
  891.  
  892.  
  893. ΓòÉΓòÉΓòÉ <hidden> Ascii ΓòÉΓòÉΓòÉ
  894.  
  895. This option will tell the Host to send the file as an Ascii file. 
  896.  
  897.  
  898. ΓòÉΓòÉΓòÉ <hidden> CRLF ΓòÉΓòÉΓòÉ
  899.  
  900. This option will tell the Host to send a "carriage return line feed" after each 
  901. record. This option will be needed on most Ascii file transfers while rarely 
  902. needed with a Binary file transfer. 
  903.  
  904.  
  905. ΓòÉΓòÉΓòÉ 6.2.11. Save to Dial Directory ΓòÉΓòÉΓòÉ
  906.  
  907. When this option is selected the file transfer protocol that is selected will 
  908. be saved into the dialing directory for this number. The next time a file 
  909. transfer is used when connected to this number this same protocol will be 
  910. selected and all the user will have to do is press the OK button. If you do not 
  911. want this protocol save then de-select this option. 
  912.  
  913.  
  914. ΓòÉΓòÉΓòÉ 7. Hangup ΓòÉΓòÉΓòÉ
  915.  
  916. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  917. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  918. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  919. slower because Pmcomm has to get the modem into the command state before 
  920. sending the hang-up string. If you have DTR on and delete the hang-up string 
  921. the hang-up will be much faster. The default string is : +++~~~~ATH^M. The +++ 
  922. is the default modem attention string, which puts the modem into the command 
  923. state. The ~~~~ will make Pmcomm pause 2 seconds (.5 seconds per ~) and then 
  924. the ATH will force the modem to go on-hook (hangup). The ^M sends a carriage 
  925. return line feed combination. 
  926.  
  927.  
  928. ΓòÉΓòÉΓòÉ 8. Options ΓòÉΓòÉΓòÉ
  929.  
  930. Option allows you to tailor Pmcomm to your own tastes. The areas in option are: 
  931. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Terminal, and 
  932. Chat. The setup is not automatically saved. This allows you to change things 
  933. temporally without changing your default setup file. If you do want to make the 
  934. changes permanent be sure to save the setup file. To save the current setup 
  935. file,  use the Save_setup command under the File menu option. 
  936.  
  937.  
  938. ΓòÉΓòÉΓòÉ 8.1. Port ΓòÉΓòÉΓòÉ
  939.  
  940. The device name should be a valid com device name. Some third party device 
  941. drivers allow you to use names other then COM1, COM2, etc., so Pmcomm does not 
  942. limit you to these names. Hardware flow control and DTR should be on for most 
  943. modems. There are currently a couple third party device drivers as well as OS/2 
  944. 2.0, that support 38400 baud, so Pmcomm has been made to support this baud 
  945. rate. 
  946.  
  947.  
  948. ΓòÉΓòÉΓòÉ 8.1.1. Device Open Error Retries ΓòÉΓòÉΓòÉ
  949.  
  950. This is the number of attempts Pmcomm will try to open a device. After the 
  951. specified number of attempts Pmcomm will exit. If 0 is entered, Pmcomm will not 
  952. retry to open the device. This option is generally used to access a shared com 
  953. port (i.e. modem pool). 
  954.  
  955.  
  956. ΓòÉΓòÉΓòÉ 8.1.2. Seconds Between Retries ΓòÉΓòÉΓòÉ
  957.  
  958. This is the number of seconds Pmcomm will wait before retrying to open a 
  959. device. 
  960.  
  961.  
  962. ΓòÉΓòÉΓòÉ 8.1.3. Device Name ΓòÉΓòÉΓòÉ
  963.  
  964. The device name should be a valid com device name. Some third party device 
  965. drivers allow you to use, and in some cases require that you use, names other 
  966. then COM1, COM2, etc., so Pmcomm does not limit you to these names. If you are 
  967. using Pmcomm across a LAN then normally there will be an Alias name for the com 
  968. port you are using on the server. See your LAN administrator for the Alias 
  969. name(s) that you should use to access the modem(s). 
  970.  
  971.  
  972. ΓòÉΓòÉΓòÉ 8.1.4. Hardware Flow Control ΓòÉΓòÉΓòÉ
  973.  
  974. Hardware Flow Control is generally the most reliable method of flow control. 
  975. There are two basic times when flow control is needed. First, if Pmcomm is 
  976. sending information to the modem faster than the modem is able to send the 
  977. information flow control is needed. If flow control is not enabled then a 
  978. transmission error will occur. Second if the modem is sending information to 
  979. Pmcomm faster then Pmcomm can receive it, then Pmcomm will try to tell the 
  980. modem to stop sending the information. This can occur when an excessive amount 
  981. of processing is being preformed on the computer. Hardware Flow Control uses 
  982. two modem signals to control the flow of information. For send flow control the 
  983. CTS modem line is used. For receive flow control the RTS modem line is used. If 
  984. your modem supports these flow control signals, then setup your modem and 
  985. Pmcomm for Hardware Flow Control. 
  986.  
  987.  
  988. ΓòÉΓòÉΓòÉ 8.1.5. XON/XOFF Flow Control ΓòÉΓòÉΓòÉ
  989.  
  990. Xon/Xoff Flow Control should only be used when Hardware_Flow_Control is not 
  991. available and when flow control is necessary. The only two file transfers that 
  992. will work correctly with Xon/Xoff are ASCII and Zmodem. The only other protocol 
  993. that should need flow control is Ymodem-g. 
  994.  
  995.  
  996. ΓòÉΓòÉΓòÉ 8.1.6. Use DTR ΓòÉΓòÉΓòÉ
  997.  
  998. DTR stands for Data Terminal Ready, which by lowering DTR you can signal the 
  999. device you are communicating with (usually a modem) that you wish to go off 
  1000. line. If you are connected to a modem you should set the modem up to go on-hook 
  1001. when the modem detects a drop in DTR. The command for a Hayes 2400 baud modem 
  1002. is AT&D2. If this option is selected in Pmcomm, then DTR will be dropped when 
  1003. the hangup command is selected, or after each re-dial attempt. 
  1004.  
  1005.  
  1006. ΓòÉΓòÉΓòÉ 8.1.7. Monitor DCD ΓòÉΓòÉΓòÉ
  1007.  
  1008. DCD stands for Data Carrier Detect and is pin 8 on an RS-232C cable. When a 
  1009. carrier is detected by the modem, Pmcomm assumes that you are connected to a 
  1010. remote computer. If DCD is not supported by your modem or other hardware, then 
  1011. this option should be turned off. With this option turned on, if no DCD is 
  1012. present then Pmcomm will not Hangup, or go into a file transfer. The drag and 
  1013. drop from the file manager will also be disabled. The command for a Hayes 2400 
  1014. baud modem is AT&C1. This will have the modem track the state of DCD. 
  1015.  
  1016.  
  1017. ΓòÉΓòÉΓòÉ 8.1.8. Default Baud ΓòÉΓòÉΓòÉ
  1018.  
  1019. The default baud is the baud rate that the com port is set to when Pmcomm is 
  1020. first executed. The baud rate is changed to the value in the dialing directory 
  1021. when a number is dialed. Normally the default baud should be set to the highest 
  1022. baud rate supported by your modem. If you have Pmcomm connected directly to 
  1023. another computer with a NULL modem cable, then you want to set this baud to the 
  1024. same baud rate that the other computer is using. 
  1025.  
  1026.  
  1027. ΓòÉΓòÉΓòÉ 8.1.9. 8/N/1 ΓòÉΓòÉΓòÉ
  1028.  
  1029. This selection means 8 data bits, No parity, 1 stop bit. This option will be 
  1030. overridden with the parameters listed in the dialing directory once you have 
  1031. connected with a remote computer. 
  1032.  
  1033.  
  1034. ΓòÉΓòÉΓòÉ 8.1.10. 7/E/1 ΓòÉΓòÉΓòÉ
  1035.  
  1036. This selection means 7 data bits, Even parity, 1 stop bit. This option will be 
  1037. overridden with the parameters listed in the dialing directory once you have 
  1038. connected with a remote computer. 
  1039.  
  1040.  
  1041. ΓòÉΓòÉΓòÉ 8.2. Dial Setup ΓòÉΓòÉΓòÉ
  1042.  
  1043. This allows you to select a dialing_directory from a list box and also lets you 
  1044. setup the prefix and suffix of the number to be dialed. There is a list box 
  1045. that will allow you to select how the dialing directory will be sorted. You can 
  1046. sort the dialing directory by name, number, baud rate, last on, number of times 
  1047. called, download cps, upload cps, dial prefix, and dial suffix. You can also 
  1048. select either ascending or descending order. 
  1049.  
  1050.  
  1051. ΓòÉΓòÉΓòÉ 8.2.1. Dial Auto Selected Entries ΓòÉΓòÉΓòÉ
  1052.  
  1053. If the Dial Auto Selected Entries on program Startup is selected then any 
  1054. entries in the dialing directory that are marked as automatically_selected , 
  1055. will automatically be dialed. This option will allow you to automatically dial 
  1056. selected numbers when Pmcomm is first invoked. This can be very useful if you 
  1057. dial the same numbers each time you run Pmcomm. 
  1058.  
  1059.  
  1060. ΓòÉΓòÉΓòÉ 8.2.2. Sort Dialing Directory ΓòÉΓòÉΓòÉ
  1061.  
  1062. The dialing_directory can be sorted by either the name, phone number, baud 
  1063. rate, last time called, number of times called, download characters per second, 
  1064. upload characters per second, dial prefix, or dial suffix. The directory can be 
  1065. sorted in either ascending or descending order. For example you can sort the 
  1066. dialing directory by last time called in descending order, and all the most 
  1067. recently called numbers will be displayed at the top of the dialing directory. 
  1068.  
  1069.  
  1070. ΓòÉΓòÉΓòÉ 8.2.3. Dialing Directory List ΓòÉΓòÉΓòÉ
  1071.  
  1072. A list of the available dialing_directories are displayed in a list box, so 
  1073. that a default directory can be selected. The selected directory will 
  1074. automatically be loaded when Pmcomm is started. You can add additional 
  1075. directories by pressing the add button. 
  1076.  
  1077.  
  1078. ΓòÉΓòÉΓòÉ 8.3. Modem ΓòÉΓòÉΓòÉ
  1079.  
  1080. The initialization string should have the commands in it to enable word result 
  1081. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1082. these are supported by all modems but use them when possible. Pause before 
  1083. redial is the time Pmcomm waits before trying to re-dial a number. Seconds to 
  1084. wait for carrier is how long  Pmcomm will wait for a connection before 
  1085. re-dialing. 
  1086.  
  1087.  
  1088. ΓòÉΓòÉΓòÉ 8.3.1. Modem Initialization String ΓòÉΓòÉΓòÉ
  1089.  
  1090. Initialization string should have the commands in it to enable word result 
  1091. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1092. these are supported by all modems, but use them when possible. Pmcomm's default 
  1093. modem string is for a Hayes 2400 baud modem. This is the default string: 
  1094.  
  1095.  AT&F&D2&C1M0Q0S2=255S10=30X4 
  1096.  
  1097.  For a Courier HST the following string should be entered. 
  1098.  
  1099.  AT&FM0&B1&H1&K0&R2&S1&Y0S2=43S10=30X4 
  1100.  
  1101.  This allows everything to be transferred to the modem at 19200 no matter what 
  1102.  the connect baud is. This setting will give you the max through-put even at 
  1103.  lower baud rates. To write this into memory of the HST run Pmcomm and then 
  1104.  enter AT&F&W. This will set the NRAM to the factory defaults. Then type in the 
  1105.  setup string and press enter. To save this to the NRAM enter AT&W. Then all 
  1106.  you have to have for a initialization string in Pmcomm is an ATZ, which will 
  1107.  restore these settings from the NRAM. On the HST I have the DIP switches set 
  1108.  as follows: 
  1109.  
  1110.  up: 1,2,4,6,7,9,10 
  1111.  down: 3,5,8 
  1112.  
  1113.  For a Hayes 9600 V.42 modem the following string should be entered. 
  1114.  
  1115.  AT&F&K3W1&C1&D2S36=7S0=0S2=255S7=30M0S10=30X4N1 
  1116.  
  1117.  
  1118. ΓòÉΓòÉΓòÉ 8.3.2. Modem Pause Before Redial ΓòÉΓòÉΓòÉ
  1119.  
  1120. Pmcomm will pause for the specified number of seconds before attempting to 
  1121. re-dial a phone number. Some phone systems take a few seconds before you can 
  1122. re-dial a phone number. The default value is 3 seconds and should work for most 
  1123. phone systems. 
  1124.  
  1125.  
  1126. ΓòÉΓòÉΓòÉ 8.3.3. Modem Dial Timeout ΓòÉΓòÉΓòÉ
  1127.  
  1128. Pmcomm will wait for a Connect or Carrier message from the modem for up to 64 
  1129. seconds. The S7 register of the modem must also be set to a value at least as 
  1130. great as the dial timeout value. This can be done by issuing the following 
  1131. command to the modem: ATS7=30. This would set the modem to timeout after 30 
  1132. seconds. Setting the dial timeout to a value greater then 30 would not be 
  1133. effective because the modem would still timeout after 30 seconds. The default 
  1134. timeout value for Pmcomm is 60 seconds. 
  1135.  
  1136.  
  1137. ΓòÉΓòÉΓòÉ 8.4. Protocols ΓòÉΓòÉΓòÉ
  1138.  
  1139. The options under protocols are: 
  1140.  
  1141.  Auto Zmodem Download. 
  1142.  
  1143.  Zmodem file recovery. 
  1144.  
  1145.  Zmodem CRC-32. 
  1146.  
  1147.  Zmodem CRC-16. 
  1148.  
  1149.  Auto CISB Transfer. 
  1150.  
  1151.  CISB file recovery. 
  1152.  
  1153.  Import File line delay. 
  1154.  
  1155.  Force 8 bit transfer. 
  1156.  
  1157.  End of line character. 
  1158.  
  1159.  Control quote character. 
  1160.  
  1161.  Number of pad characters. 
  1162.  
  1163.  Pad character. 
  1164.  
  1165.  IND$FILE. 
  1166.  
  1167.  Auto Zmodem makes Pmcomm check for a Zmodem start sequence. When received, 
  1168.  Pmcomm automatically starts receiving the file. Zmodem file recovery allows 
  1169.  Zmodem to resume a file transfer that was previously aborted. CRC-32 has 
  1170.  improved error correction but is slightly slower. If CRC-32 is not available 
  1171.  Pmcomm will switch to CRC-16. Zmodem is only available on commercial versions. 
  1172.  Auto CISB is similar to Auto Zmodem except that both uploads and downloads can 
  1173.  be started this way. This feature is for the CISB file transfer protocol. CISB 
  1174.  file recovery allows CISB to resume a file transfer that was previously 
  1175.  aborted. The IND$FILE protocol may also be selected for downloads. 
  1176.  
  1177.   CAUTION:
  1178.  The IND$FILE file transfer protocol in Pmcomm, currently, does not support any 
  1179.  error detection. 
  1180.  
  1181.  The rest are Kermit options and should be made to match your host. 
  1182.  
  1183.  
  1184. ΓòÉΓòÉΓòÉ 8.5. Paths ΓòÉΓòÉΓòÉ
  1185.  
  1186. The download path allows you to have the files that you download put into a 
  1187. different directory. The script path is where Pmcomm looks for the scripts 
  1188. listed in the dialing directory. If a script called startup.scr exists in this 
  1189. directory then it will be executed each time Pmcomm is started. The capture 
  1190. path is where all screen captures are stored. These paths must contain a valid 
  1191. directory. It defaults to the directory that Pmcomm was started from. There is 
  1192. also a call logging option here which when turned on will start call logging as 
  1193. soon as Pmcomm is run. 
  1194.  
  1195.  
  1196. ΓòÉΓòÉΓòÉ 8.6. Macros Setup ΓòÉΓòÉΓòÉ
  1197.  
  1198. There are 10 user definable keyboard macros. These can be invoked by holding 
  1199. down the Alt key and pressing 0-9. Use ^M to send a carriage return. When the 
  1200. macro is invoked it will send the string that you have defined to the modem. 
  1201. Once you  have setup the macro string, it can also be selected from the main 
  1202. menu using a mouse. Other special characters are: ^H = tab character. 
  1203.  
  1204.  ^J = carriage return without a line feed. 
  1205.  
  1206.  ^L = form feed. 
  1207.  
  1208.  ^[ = escape character (Ascii 27) 
  1209.  
  1210.  ^C = send the Ctrl-C character (Ascii 3) 
  1211.  
  1212.  ^K = XON character 
  1213.  
  1214.  ^S = XOFF character 
  1215.  
  1216.  ~  = sleep for half a second 
  1217.  
  1218.  You can also send any other special character by holding down the Alt key and 
  1219.  typing in the Ascii number on the numeric key pad. For example, if you want to 
  1220.  enter the escape character into a macro you could hold down the Alt key and 
  1221.  then press the two and the seven on the numeric key pad (while still holding 
  1222.  down the Alt key). When you then release the Alt key the escape character 
  1223.  would be inserted into the macro. Scripts can be executed from macros by using 
  1224.  the shell command. An example of this would be: 
  1225.  
  1226.  shell("c:\pmcomm\plane.cmd"); 
  1227.  
  1228.  This would execute the REXX script called plane.cmd. This allows you a quick 
  1229.  and easy way to execute often used scripts. 
  1230.  
  1231.  
  1232. ΓòÉΓòÉΓòÉ 8.7. Screen ΓòÉΓòÉΓòÉ
  1233.  
  1234. This command allows you to tailor the screen handling to your tastes. The best 
  1235. thing to do is try them to see if you like them. Some features like the 
  1236. automatic horizontal scroll will probably only be used when typing messages and 
  1237. chatting. 
  1238.  
  1239.  
  1240. ΓòÉΓòÉΓòÉ 8.7.1. Font ΓòÉΓòÉΓòÉ
  1241.  
  1242. Allows you to select from a list of font sizes. The sizes depend on the display 
  1243. adapter and version of OS/2 your are using. Pmcomm queries the video device 
  1244. driver to see what font sizes it supports and lists them for you to select. 
  1245.  
  1246.  
  1247. ΓòÉΓòÉΓòÉ 8.7.2. Foreground ΓòÉΓòÉΓòÉ
  1248.  
  1249. Sets up the color to be used for the text used in the Pmcomm window. There are 
  1250. 16 different background and foreground colors available, allowing for 256 
  1251. different color combinations. 
  1252.  
  1253.  
  1254. ΓòÉΓòÉΓòÉ 8.7.3. Background ΓòÉΓòÉΓòÉ
  1255.  
  1256. Sets up the color to be used for the Pmcomm window background. There are 16 
  1257. different background and foreground colors available, allowing for 256 
  1258. different color combinations. 
  1259.  
  1260.  
  1261. ΓòÉΓòÉΓòÉ 8.7.4. Hide Window While Dialing ΓòÉΓòÉΓòÉ
  1262.  
  1263. The hide window while dialing option will make the screen less "busy" while 
  1264. dialing. 
  1265.  
  1266.  
  1267. ΓòÉΓòÉΓòÉ 8.7.5. Hide Window During a File Transfer ΓòÉΓòÉΓòÉ
  1268.  
  1269. The hide window during a file transfer option will make the screen less "busy" 
  1270. while executing a file transfer. 
  1271.  
  1272.  
  1273. ΓòÉΓòÉΓòÉ 8.7.6. Automatic Vertical Scroll ΓòÉΓòÉΓòÉ
  1274.  
  1275. The Automatic vertical scroll option will make Pmcomm keep the cursor 
  1276. vertically in the Pmcomm window. 
  1277.  
  1278.  
  1279. ΓòÉΓòÉΓòÉ 8.7.7. Automatic Horizontal Scroll ΓòÉΓòÉΓòÉ
  1280.  
  1281. The Automatic horizontal scroll option will keep the cursor horizontally in the 
  1282. Pmcomm window. 
  1283.  
  1284.  
  1285. ΓòÉΓòÉΓòÉ 8.7.8. Retain Dialing Dialog's Position ΓòÉΓòÉΓòÉ
  1286.  
  1287. The retain dialing dialog's position option will make Pmcomm restore the last 
  1288. position of the dialing dialog each time it is invoked. If this option is not 
  1289. selected then OS/2 will decide where to place the dialog boxes. 
  1290.  
  1291.  
  1292. ΓòÉΓòÉΓòÉ 8.7.9. Retain Transfer Dialog's Position ΓòÉΓòÉΓòÉ
  1293.  
  1294. The retain transfer dialog's position option will make Pmcomm restore the last 
  1295. position of the transfer dialog each time it is invoked. If this option is not 
  1296. selected then OS/2 will decide where to place the dialog boxes. 
  1297.  
  1298.  
  1299. ΓòÉΓòÉΓòÉ 8.7.10. Show Dial Message Box ΓòÉΓòÉΓòÉ
  1300.  
  1301. The Show Dial Message Box option makes Pmcomm display a message box and beeps 
  1302. at the user, when Pmcomm obtains a remote connection, until the OK button is 
  1303. pressed. This will make sure you notice that Pmcomm has a remote connection. 
  1304.  
  1305.  
  1306. ΓòÉΓòÉΓòÉ 8.7.11. Local Echo On ΓòÉΓòÉΓòÉ
  1307.  
  1308. The local echo on option will make Pmcomm echo all keystrokes to the local 
  1309. screen as well as to the remote computer. 
  1310.  
  1311.  
  1312. ΓòÉΓòÉΓòÉ 8.7.12. Turn Sound On ΓòÉΓòÉΓòÉ
  1313.  
  1314. The turn sound on option will make Pmcomm alert the user when certain functions 
  1315. have been completed. The sound must also be turned on in OS/2 for this option 
  1316. to work. This can be done through the control panel. 
  1317.  
  1318.  
  1319. ΓòÉΓòÉΓòÉ 8.8. Status Line ΓòÉΓòÉΓòÉ
  1320.  
  1321. This option will activate Pmcomm's Status Line. The Status Line allows you, at 
  1322. a glance, to view which options are currently running. 
  1323.  
  1324. Phone Icon 
  1325.  
  1326. There are many options that can be accessed by the Phone Icon. If the telephone 
  1327. is on-hook (hung up) and you click on the icon, Pmcomm will dial any numbers 
  1328. that you have selected in the dialing directory. If there aren't any numbers 
  1329. selected, Pmcomm will "pop" up the dialing directory. 
  1330.  
  1331. If you select a dialing directory in File Manager and hold down the right mouse 
  1332. button you can drag the dialing directory to the phone icon. Once the button is 
  1333. released over the phone icon, Pmcomm will dial any selected numbers. If there 
  1334. aren't any numbers selected, Pmcomm will "pop" up the dialing directory. 
  1335.  
  1336. Once online the phone icon will be taken off-hook. If the phone is off-hook and 
  1337. you click on the icon Pmcomm will hang-up. If Monitor DCD is turned off and you 
  1338. click on the icon, Pmcomm will dial any selected numbers in the dialing 
  1339. directory. If there aren't any numbers selected, Pmcomm will "pop" up the 
  1340. dialing directory. 
  1341.  
  1342. If Monitor DCD is turned off the telephone will appear with a question mark 
  1343. imposed over the top of it. 
  1344.  
  1345. Disk Drive Icon 
  1346.  
  1347. The Disk Drive Icon allows a quick and easy way to turn the Capture option on 
  1348. and off. If the disk drive icon light is green and you click on the icon Pmcomm 
  1349. will will then prompt you for the filename of the capture file. If the disk 
  1350. drive icon light is red Pmcomm is already executing the Capture command. If you 
  1351. click on the icon while the disk drive icon light is red, Pmcomm will cancel 
  1352. the Capture command. 
  1353.  
  1354. Log Icon 
  1355.  
  1356. By clicking on the log icon, Pmcomm will turn logging on. When logging is on, 
  1357. the log will appear with logging equipment (cross-cut saw and an axe), if you 
  1358. click on this icon Pmcomm will turning logging off. 
  1359.  
  1360. Printer Icon 
  1361.  
  1362. By clicking on the Printer Icon you can print any selected text. If there isn't 
  1363. any selected text, Pmcomm will execute the Print Continuous command. Clicking 
  1364. on the icon again will turn the Print Continuous command off. 
  1365.  
  1366. Generator Icon 
  1367.  
  1368. Clicking on the Generator Icon will turn on the Script Generator. Pmcomm will 
  1369. then prompt you for a filename for the script. If you click on the icon again, 
  1370. Pmcomm will turn off the Script Generator. The Generator Icon will have 
  1371. lightning bolts about it when a script is being generated. 
  1372.  
  1373. Book Icon 
  1374.  
  1375. Clicking on the the Book Icon will execute a script. If Pmcomm is executing a 
  1376. script, clicking on the icon will cancel the script. You can also use the drag 
  1377. and drop feature of Pmcomm to select any executable file (extensions .exe, .cmd 
  1378. and .scr) from the File Manager and executing that file by dragging and 
  1379. dropping the file on the Book Icon. 
  1380.  
  1381. Com Port Statistics 
  1382.  
  1383. This line in the Status Line shows which com port you are using, the baud rate, 
  1384. data bits, parity, and stop bits that Pmcomm is currently using. Clicking on 
  1385. this line with a mouse will "pop" up the port setup dialog box. 
  1386.  
  1387. Elapsed Timer 
  1388.  
  1389. The Status Line also has an elapsed timer that starts as soon as you are 
  1390. connected to another computer. The timer displays the elapsed time in hours and 
  1391. minutes. You may also set two warning levels. The first will change the connect 
  1392. time to yellow and the second level will turn the connect time red. These 
  1393. warning levels are useful to keep track of how of the time you are connected to 
  1394. a remote computer. The elapsed timer will only be displayed if Monitor DCD is 
  1395. turned on. If Monitor DCD is turned off the time of day will be displayed. 
  1396. Clicking on this line will toggle between the time of day and the connect time. 
  1397. The of day will be displayed as default. 
  1398.  
  1399.  
  1400. ΓòÉΓòÉΓòÉ 8.8.1. Show Status Line ΓòÉΓòÉΓòÉ
  1401.  
  1402. The "Show status line" option will display Pmcomm's Status Line at the bottom 
  1403. of the Pmcomm window. For more information see Status_Line. 
  1404.  
  1405.  
  1406. ΓòÉΓòÉΓòÉ 8.8.2. Connect time for first warning ΓòÉΓòÉΓòÉ
  1407.  
  1408. After the amount of time specified in this option expires, Pmcomm will turn the 
  1409. connect time yellow. The time must be specified in the hh:mm format. 
  1410.  
  1411.  
  1412. ΓòÉΓòÉΓòÉ 8.8.3. Connect time for second warning ΓòÉΓòÉΓòÉ
  1413.  
  1414. After the amount of time specified in this option expires, Pmcomm will turn the 
  1415. connect time red. The time must be specified in the hh:mm format. 
  1416.  
  1417.  
  1418. ΓòÉΓòÉΓòÉ 8.9. Terminal ΓòÉΓòÉΓòÉ
  1419.  
  1420. Terminal allows you to select which emulation you wish to use. There are also 
  1421. some options for the different emulations. 
  1422.  
  1423.  
  1424. ΓòÉΓòÉΓòÉ 8.9.1. TTY emulation ΓòÉΓòÉΓòÉ
  1425.  
  1426. The TTY emulation makes Pmcomm act as a teletype device. Generally this is the 
  1427. least used emulation, however, it is also the fastest. The reason for this is 
  1428. that there are very few special commands that Pmcomm has to process. None of 
  1429. the special ANSI control codes are processed. 
  1430.  
  1431.  
  1432. ΓòÉΓòÉΓòÉ 8.9.2. ANSI emulation ΓòÉΓòÉΓòÉ
  1433.  
  1434. The ANSI emulation is probably the most used. It will execute the special ANSI 
  1435. screen control commands. This allows the remote program to be able to clear the 
  1436. screen, position the cursor and change the colors. There are other screen 
  1437. control commands but these are the most commonly used ones. There are also 
  1438. options to have Pmcomm ignore the ANSI color changes so that you can use the 
  1439. colors you want, instead of the ones the remote computer uses, and to send the 
  1440. ANSI cursor position commands with the arrow keys. When using the ANSI 
  1441. emulation you can also have Pmcomm strip off the ANSI commands before saving 
  1442. the information into a capture file. This will make the capture file much more 
  1443. readable. You can also change the length of the page, to correspond to the size 
  1444. of your screen. The default for the ANSI page length is 25 lines, and under 
  1445. most cases should be left there. 
  1446.  
  1447.  
  1448. ΓòÉΓòÉΓòÉ 8.9.3. VT100 emulation ΓòÉΓòÉΓòÉ
  1449.  
  1450. In VT100 emulation, some keys have been changed to try to more closely emulate 
  1451. the VT100 keyboard. F1-F4 are now the PF keys. Because of this the F1 key will 
  1452. not display the normal help and F3 will not exit the program. The PF keys will 
  1453. send the following characters: 
  1454.  
  1455.    F1 = ESCOP 
  1456.  
  1457.    F2 = ESCOQ 
  1458.  
  1459.    F3 = ESCOR 
  1460.  
  1461.    F4 = ESCOS 
  1462.  
  1463.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  1464.  be available. When the num lock key is off, the numerical key pad will be in 
  1465.  the application mode. If you are connecting to a VT220 Host you can use these 
  1466.  keys to send the VT220 PF key values. For example pressing the 1 on the 
  1467.  numeric key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key 
  1468.  pad will send the VT220 PF3 key, and so on. With the num lock on the numbers 
  1469.  will be sent. The plus key has been re-mapped to be a comma, again to be 
  1470.  compatible with the VT100 keyboard. In most cases it is best to tell the host 
  1471.  that you are a VT220 terminal. The VT100 emulation of Pmcomm supports most of 
  1472.  the VT220 commands, and will allow you to use the extra support that VT220 
  1473.  allows. If you tell the host that you are a VT220 terminal, for example, you 
  1474.  will be able to use the Ctrl-R for reset and the Ctrl-C for clear. These are 
  1475.  just a couple of examples of the additional benefit that you can get from 
  1476.  VT220. 
  1477.  
  1478.  The send DEL for backspace option is the default for many VT100 keyboards. 
  1479.  When this is selected, Pmcomm will send a hex 7f character instead of the 
  1480.  backspace character. You can still send a backspace character by pressing 
  1481.  Ctrl-Backspace. This allows you to have both these characters available at one 
  1482.  time. 
  1483.  
  1484.  The translate CR/LF for LF option will act as if it received a carriage return 
  1485.  and a line feed, each time it receives a line feed. 
  1486.  
  1487.  The line wrap option will make Pmcomm wrap the line if the line is longer than 
  1488.  the page width. If this option is off the line will be truncated. 
  1489.  
  1490.  The Insert mode option will allow you to insert characters into the middle of 
  1491.  a line and the rest of the line will be shifted to the right to allow room for 
  1492.  the new characters. 
  1493.  
  1494.  The cursor visible option determines if the cursor will be shown on the screen 
  1495.  or not. 
  1496.  
  1497.  The Screen origin relative option determines if Pmcomm will keep everything on 
  1498.  a 25 line screen or allow it to use the scroll back buffer. In most cases this 
  1499.  option should be selected. 
  1500.  
  1501.  The last two options are to set the width of the screen. Either 80 or 132 
  1502.  columns are supported. 
  1503.  
  1504.  Most of these options can be changed from the host. The default setup should 
  1505.  work for most applications, and the host can change the options to meet 
  1506.  different needs. 
  1507.  
  1508.  
  1509. ΓòÉΓòÉΓòÉ 8.10. Chat ΓòÉΓòÉΓòÉ
  1510.  
  1511. This sets up Pmcomm to "chat" when connected to another computer that is also 
  1512. running Pmcomm. This mode automatically sets Pmcomm to echo characters locally 
  1513. and to send a carriage return line feed combination when the enter key is 
  1514. pressed. 
  1515.  
  1516.  
  1517. ΓòÉΓòÉΓòÉ 9. Macros ΓòÉΓòÉΓòÉ
  1518.  
  1519. Allows you to pick, with a mouse, the macro you wish to send. Can also be 
  1520. selected with an Alt+corresponding number keystroke. Pmcomm allows you to set 
  1521. up ten different macros. Scripts can be executed from macros by using the shell 
  1522. command. An example of this would be: 
  1523.  
  1524. shell("c:\pmcomm\plane.cmd"); 
  1525.  
  1526. This would execute the REXX script called plane.cmd. This allows you a quick 
  1527. and easy way to execute your most popular scripts. 
  1528.  
  1529.  
  1530. ΓòÉΓòÉΓòÉ 10. Script Syntax ΓòÉΓòÉΓòÉ
  1531.  
  1532. Both, internal and REXX, syntaxes are described in this section. 
  1533.  
  1534.  
  1535. ΓòÉΓòÉΓòÉ 10.1. REXX Functions ΓòÉΓòÉΓòÉ
  1536.  
  1537. This describes the function calls that are available in the rxpmcomm.dll. 
  1538. Before using any of these calls you must include these lines in your REXX 
  1539. program: 
  1540.  
  1541.  Call RxFuncadd " init_dll ","RxPmcomm","init_dll" 
  1542.  
  1543.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  1544.  
  1545.  Call init_dll 
  1546.  
  1547.  The rxpmcomm.dll must reside in a directory listed in your LIBPATH statement 
  1548.  in config.sys. One of the default directories is \os2\dll. These functions are 
  1549.  designed to make it easier to preform tasks necessary when writing scripts for 
  1550.  asynch communications. To invoke a REXX program from a script, use the shell( 
  1551.  ) function in the script. The format of the shell function is as follows: 
  1552.  
  1553.  shell("\path\filename.cmd"); 
  1554.  where filename.cmd is your REXX program. These functions have been tested with 
  1555.  the REXX that comes with OS/2 1.2 EE, but should work with any totally 
  1556.  function compatible REXX. There are some sample REXX programs included. 
  1557.  
  1558.  
  1559. ΓòÉΓòÉΓòÉ 10.1.1. init_dll ΓòÉΓòÉΓòÉ
  1560.  
  1561. The init_dll function will register the functions in the rxpmcomm.dll, with 
  1562. REXX. This function must be called before any other rxpmcomm.dll function is 
  1563. called. The RxFuncadd must be called before init_dll to register this function 
  1564. with REXX. 
  1565.  
  1566.  
  1567. ΓòÉΓòÉΓòÉ 10.1.2. os2_shell ΓòÉΓòÉΓòÉ
  1568.  
  1569.  os2_shell port,port 
  1570.  
  1571.  Example 
  1572.  
  1573.  Call os2_shell port,port 
  1574.  
  1575.  Description 
  1576.  
  1577.  This command will allow a caller to shell to OS/2, remotely. The first 
  1578.  parameter is the input handle and the second is the output handle. In the 
  1579.  example above, the command will receive and send the information to the com 
  1580.  port. 
  1581.  
  1582.  Returns 
  1583.  
  1584.  1 if successful and 0 if unsuccessful. 
  1585.  
  1586.  
  1587. ΓòÉΓòÉΓòÉ 10.1.3. set_download_path ΓòÉΓòÉΓòÉ
  1588.  
  1589.  set_download_path directory,dde_output 
  1590.  
  1591.  Example 
  1592.  
  1593.  Call set_download_path "c:\pmcomm",dde_output 
  1594.  
  1595.  Description 
  1596.  
  1597.  The above example will set the download path to c:\pmcomm. This will store all 
  1598.  of the files received in that directory. The dde_output, is the dde_output 
  1599.  value passed on the command line. 
  1600.  
  1601.  Returns 
  1602.  
  1603.  1 if successful and 0 if unsuccessful. 
  1604.  
  1605.  
  1606. ΓòÉΓòÉΓòÉ 10.1.4. setcom ΓòÉΓòÉΓòÉ
  1607.  
  1608.  setcom baud,parity,data_bit,stop_bits,port 
  1609.  
  1610.  Example 
  1611.  
  1612.  Call setcom "2400","N","8","1",port 
  1613.  
  1614.  Description 
  1615.  
  1616.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  1617.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  1618.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  1619.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If a 
  1620.  parameter is an empty string (i.e. setcom "","E","7","1",port) this leaves the 
  1621.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  1622.  
  1623.  Returns 
  1624.  
  1625.  1 if successful and 0 if unsuccessful. 
  1626.  
  1627.  
  1628. ΓòÉΓòÉΓòÉ 10.1.5. sendb ΓòÉΓòÉΓòÉ
  1629.  
  1630.  sendb length,port 
  1631.  
  1632.  Example 
  1633.  
  1634.  Call sendb "300",port 
  1635.  
  1636.  Description 
  1637.  
  1638.  This call sends a break signal a certain time in milliseconds. The above 
  1639.  example would send a break signal for 300 milliseconds. This call is mostly 
  1640.  used to establish direct connects (not using a modem). Three hundred 
  1641.  milliseconds should be okay for most situations. 
  1642.  
  1643.  Returns 
  1644.  
  1645.  1 if successful and 0 if unsuccessful. 
  1646.  
  1647.  
  1648. ΓòÉΓòÉΓòÉ 10.1.6. dcd ΓòÉΓòÉΓòÉ
  1649.  
  1650.  dcd port 
  1651.  
  1652.  Example 
  1653.  
  1654.  Call dcd port 
  1655.  
  1656.  Description 
  1657.  
  1658.  This call checks to see if there is a carrier detected on the modem. You can 
  1659.  use this to see if Pmcomm is still online to a remote computer. For this 
  1660.  information to be correct the modem must support dcd and the modem must be 
  1661.  configured to support dcd. To find the command refer to your owner's manual. 
  1662.  
  1663.  Returns 
  1664.  
  1665.  1 if carrier detected and 0 if no carrier. 
  1666.  
  1667.  
  1668. ΓòÉΓòÉΓòÉ 10.1.7. char_avail ΓòÉΓòÉΓòÉ
  1669.  
  1670.  char_avail port 
  1671.  
  1672.  Example 
  1673.  
  1674.  Call char_avail port 
  1675.  
  1676.  Description 
  1677.  
  1678.  This call checks to see how many characters are available in the device 
  1679.  driver's receive buffer. You can use this function to check to see if the 
  1680.  device driver has received any characters from the com port. 
  1681.  
  1682.  Returns 
  1683.  
  1684.  Number of characters in device driver receive queue. 
  1685.  
  1686.  
  1687. ΓòÉΓòÉΓòÉ 10.1.8. read_timeout ΓòÉΓòÉΓòÉ
  1688.  
  1689.  read_timeout timeout,port 
  1690.  
  1691.  Example 
  1692.  
  1693.  Call read_timeout 20000,port 
  1694.  
  1695.  Description 
  1696.  
  1697.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  1698.  Get_ch will wait for a character from the com port. The above example will 
  1699.  make the functions wait for 20 seconds. 
  1700.  
  1701.  Returns 
  1702.  
  1703.  1 if successful and 0 if unsuccessful. 
  1704.  
  1705.  
  1706. ΓòÉΓòÉΓòÉ 10.1.9. Get_ch ΓòÉΓòÉΓòÉ
  1707.  
  1708.  Get_ch port 
  1709.  
  1710.  Example 
  1711.  
  1712.  Call Get_ch port 
  1713.  
  1714.  Description 
  1715.  
  1716.  This call will get a character from the com port. If no character is available 
  1717.  by the time set with read_timeout the function will return with a value of -1. 
  1718.  Otherwise the function will return with the character read. 
  1719.  
  1720.  Returns 
  1721.  
  1722.  char value if successful and -1 if unsuccessful. 
  1723.  
  1724.  
  1725. ΓòÉΓòÉΓòÉ 10.1.10. ring_detect ΓòÉΓòÉΓòÉ
  1726.  
  1727.  ring_detect port 
  1728.  
  1729.  Example 
  1730.  
  1731.  Call ring_detect port 
  1732.  
  1733.  Description 
  1734.  
  1735.  This call can be used to inform a program if the phone is ringing. 
  1736.  
  1737.  Returns 
  1738.  
  1739.  1 if ring detected, 0 if no ring, and 2 if invalid number of parameters. 
  1740.  
  1741.  
  1742. ΓòÉΓòÉΓòÉ 10.1.11. drop_dtr ΓòÉΓòÉΓòÉ
  1743.  
  1744.  drop_dtr port 
  1745.  
  1746.  Example 
  1747.  
  1748.  Call drop_dtr port 
  1749.  
  1750.  Description 
  1751.  
  1752.  This call is usually used to make a modem hang up. The modem must be 
  1753.  configured to allow this. To find the command for your modem, check your 
  1754.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  1755.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  1756.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  1757.  modem from doing an auto answer until you raise_dtr again. 
  1758.  
  1759.  Returns 
  1760.  
  1761.  1 if successful and 0 if unsuccessful. 
  1762.  
  1763.  
  1764. ΓòÉΓòÉΓòÉ 10.1.12. raise_dtr ΓòÉΓòÉΓòÉ
  1765.  
  1766.  raise_dtr port 
  1767.  
  1768.  Example 
  1769.  
  1770.  Call raise_dtr port 
  1771.  
  1772.  Description This call is usually used after drop_dtr to allow the modem to 
  1773.  process commands and enable it to answer the phone. 
  1774.  
  1775.  Returns 
  1776.  
  1777.  1 if successful and 0 if unsuccessful. 
  1778.  
  1779.  
  1780. ΓòÉΓòÉΓòÉ 10.1.13. Wait_for (REXX) ΓòÉΓòÉΓòÉ
  1781.  
  1782.  Wait_for string,string,string...,port 
  1783.  
  1784.  Example 
  1785.  
  1786.  Call Wait_for "first name?","last name?",port 
  1787.  
  1788.  Description 
  1789.  
  1790.  The above example would wait for either first name?, or last name?, from the 
  1791.  com port. The function will return the index of the  string that matched. For 
  1792.  example if the Wait_for received last name?, then the result would be 2. You 
  1793.  can specify any number of strings depending on memory available. 
  1794.  
  1795.  Returns 
  1796.  
  1797.  Index of matched string or zero if timeout or error. 
  1798.  
  1799.  
  1800. ΓòÉΓòÉΓòÉ 10.1.14. Wait_fore ΓòÉΓòÉΓòÉ
  1801.  
  1802.  Wait_fore string,string,string...,port,screen_handle 
  1803.  
  1804.  Example 
  1805.  
  1806.  Call Wait_fore "first name?","last name?",port,screen_handle 
  1807.  
  1808.  Call Wait_fore "first name?",port,1 
  1809.  
  1810.  Call Wait_fore "first name?","raw",port,1 
  1811.  
  1812.  Description 
  1813.  
  1814.  The first example would wait for either first name?, or last name?, from the 
  1815.  com port and echo the out_put to the Pmcomm screen. The second example would 
  1816.  do the same except it would write the out put to StdOut(value 1) which would 
  1817.  be the REXX screen. The third example would look for an exact match coming 
  1818.  accross the com port, including any ANSI sequences. 
  1819.  
  1820.  Returns 
  1821.  
  1822.  Index of matched string or zero if timeout or error. 
  1823.  
  1824.  
  1825. ΓòÉΓòÉΓòÉ 10.1.15. Put_s ΓòÉΓòÉΓòÉ
  1826.  
  1827.  Put_s string,port 
  1828.  
  1829.  Example 
  1830.  
  1831.  Call Put_s "first name",port 
  1832.  
  1833.  Description 
  1834.  
  1835.  This call will send string out to port. In the above example first name will 
  1836.  be sent to the com port. If port is not specified then 'string' will be sent 
  1837.  to the REXX screen. If screen_handle is specified instead of port then the 
  1838.  string will be sent to the Pmcomm screen. 
  1839.  
  1840.  Returns 
  1841.  
  1842.  Length of string actually written. 
  1843.  
  1844.  
  1845. ΓòÉΓòÉΓòÉ 10.1.16. Sleep (REXX) ΓòÉΓòÉΓòÉ
  1846.  
  1847.  Sleep time 
  1848.  
  1849.  Example 
  1850.  
  1851.  Call Sleep "1000" 
  1852.  
  1853.  Description 
  1854.  
  1855.  This call will delay the program for the amount of milliseconds specified. The 
  1856.  above example will delay the computer for one second. 
  1857.  
  1858.  Returns 
  1859.  
  1860.  Unconditionally 0. 
  1861.  
  1862.  
  1863. ΓòÉΓòÉΓòÉ 10.1.17. beep ΓòÉΓòÉΓòÉ
  1864.  
  1865.  beep frequency,duration 
  1866.  
  1867.  Example 
  1868.  
  1869.  Call beep 495,100 
  1870.  
  1871.  Description 
  1872.  
  1873.  The above example will beep the speaker. 
  1874.  
  1875.  Returns 
  1876.  
  1877.  1 if successful and 0 if unsuccessful. 
  1878.  
  1879.  
  1880. ΓòÉΓòÉΓòÉ 10.1.18. get_cursor_position ΓòÉΓòÉΓòÉ
  1881.  
  1882.  get_cursor_position axis,dde_output,dde_input 
  1883.  
  1884.  Example 
  1885.  
  1886.  Call get_cursor_position "column",dde_output,dde_input 
  1887.  
  1888.  Description 
  1889.  
  1890.  The above will return the column that the cursor is in. To get the current 
  1891.  row, you would issue this call with "row" instead of "column". The row value 
  1892.  that is returned is relative to the top of the scroll back buffer. The top row 
  1893.  of the scroll back buffer and the first column would be 0,0. 
  1894.  
  1895.  Returns 
  1896.  
  1897.  Cursor position. 
  1898.  
  1899.  
  1900. ΓòÉΓòÉΓòÉ 10.1.19. get_char_at ΓòÉΓòÉΓòÉ
  1901.  
  1902.  get_char_at row,column,number,dde_output,dde_input 
  1903.  
  1904.  Example 
  1905.  
  1906.  Call get_char_at 0,0,80,dde_output,dde_input 
  1907.  
  1908.  Description 
  1909.  
  1910.  The above will return the characters at the first line of the scroll back 
  1911.  buffer. It will return 80 characters, even if the characters are spaces. The 
  1912.  maximum number of characters that can be returned at one time is 200. 
  1913.  
  1914.  Returns 
  1915.  
  1916.  Character(s) at the specified row and column. 
  1917.  
  1918.  
  1919. ΓòÉΓòÉΓòÉ 10.1.20. REXX capture_on ΓòÉΓòÉΓòÉ
  1920.  
  1921.  capture_on filename,dde_output,dde_input 
  1922.  
  1923.  Example 
  1924.  
  1925.  Call capture_on "c:\pmcomm\cap.txt", dde_output, dde_input 
  1926.  
  1927.  Description 
  1928.  
  1929.  The above will turn capture on so that everything will be saved into a file. 
  1930.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  1931.  in ANSI, and VT100 terminal emulation. If the file already exists it will be 
  1932.  overwritten. 
  1933.  
  1934.  Returns 
  1935.  
  1936.  1 if successful and 0 if not. 
  1937.  
  1938.  
  1939. ΓòÉΓòÉΓòÉ 10.1.21. REXX capture_off ΓòÉΓòÉΓòÉ
  1940.  
  1941.  capture_off dde_output,dde_input 
  1942.  
  1943.  Example 
  1944.  
  1945.  Call capture_off dde_output,dde_input 
  1946.  
  1947.  Description 
  1948.  
  1949.  The above will turn capture off. The capture may have been started from a 
  1950.  script or from the menu. 
  1951.  
  1952.  Returns 
  1953.  
  1954.  1 if successful and 0 if not. 
  1955.  
  1956.  
  1957. ΓòÉΓòÉΓòÉ 10.1.22. xmodem_send ΓòÉΓòÉΓòÉ
  1958.  
  1959.  xmodem_send filename,dde_output,dde_input 
  1960.  
  1961.  Example 
  1962.  
  1963.  Call xmodem_send "filename.ext",dde_output,dde_input 
  1964.  
  1965.  Description 
  1966.  
  1967.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  1968.  issued the call will not return until the transfer either finishes or is 
  1969.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  1970.  uploading from the menu. 
  1971.  
  1972.  Returns 
  1973.  
  1974.  1 if call is successful and 0 if unsuccessful. 
  1975.  
  1976.  
  1977. ΓòÉΓòÉΓòÉ 10.1.23. xmodem_receive ΓòÉΓòÉΓòÉ
  1978.  
  1979.  xmodem_receive filename,dde_output,dde_input 
  1980.  
  1981.  Example 
  1982.  
  1983.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  1984.  
  1985.  Description 
  1986.  
  1987.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  1988.  issued the call will not return until the transfer either finishes or is 
  1989.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  1990.  downloading from the menu. The file will be downloaded into the download 
  1991.  directory. The file name specified must not include a path. 
  1992.  
  1993.  Returns 
  1994.  
  1995.  1 if call is successful and 0 if unsuccessful. 
  1996.  
  1997.  
  1998. ΓòÉΓòÉΓòÉ 10.1.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  1999.  
  2000.  xmodem_chk_send filename,dde_output,dde_input 
  2001.  
  2002.  Example 
  2003.  
  2004.  Call xmodem_chk_send "filename.ext",dde_output,dde_input 
  2005.  
  2006.  Description 
  2007.  
  2008.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2009.  Once issued the call will not return until the transfer either finishes or is 
  2010.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2011.  uploading from the menu. 
  2012.  
  2013.  Returns 
  2014.  
  2015.  1 if call is successful and 0 if unsuccessful. 
  2016.  
  2017.  
  2018. ΓòÉΓòÉΓòÉ 10.1.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2019.  
  2020.  xmodem_chk_receive filename,dde_output,dde_input 
  2021.  
  2022.  Example 
  2023.  
  2024.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  2025.  
  2026.  Description 
  2027.  
  2028.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  2029.  Once issued the call will not return until the transfer either finishes or is 
  2030.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2031.  downloading from the menu. The file will be downloaded into the download 
  2032.  directory. The file name specified must not include a path. 
  2033.  
  2034.  Returns 
  2035.  
  2036.  1 if call is successful and 0 if unsuccessful. 
  2037.  
  2038.  
  2039. ΓòÉΓòÉΓòÉ 10.1.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  2040.  
  2041.  xmodem_1k_send filename,dde_output,dde_input 
  2042.  
  2043.  Example 
  2044.  
  2045.  Call xmodem_1k_send "filename.ext",dde_output,dde_input 
  2046.  
  2047.  Description 
  2048.  
  2049.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  2050.  issued the call will not return until the transfer either finishes or is 
  2051.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2052.  uploading from the menu. 
  2053.  
  2054.  Returns 
  2055.  
  2056.  1 if call is successful and 0 if unsuccessful. 
  2057.  
  2058.  
  2059. ΓòÉΓòÉΓòÉ 10.1.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  2060.  
  2061.  xmodem_1k_receive filename,dde_output,dde_input 
  2062.  
  2063.  Example 
  2064.  
  2065.  Call xmodem_1k_receive "filename.ext",dde_output,dde_input 
  2066.  
  2067.  Description 
  2068.  
  2069.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  2070.  issued the call will not return until the transfer either finishes or is 
  2071.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2072.  downloading from the menu. The file will be downloaded into the download 
  2073.  directory. The file name specified must not include a path. 
  2074.  
  2075.  Returns 
  2076.  
  2077.  1 if call is successful and 0 if unsuccessful. 
  2078.  
  2079.  
  2080. ΓòÉΓòÉΓòÉ 10.1.28. ymodem_send ΓòÉΓòÉΓòÉ
  2081.  
  2082.  ymodem_send filename,dde_output,dde_input 
  2083.  
  2084.  Example 
  2085.  
  2086.  Call ymodem_send "filename.ext",dde_output,dde_input 
  2087.  
  2088.  Description 
  2089.  
  2090.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  2091.  the call will not return until the transfer either finishes or is aborted. 
  2092.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2093.  the menu. You may send multiple files by specifying more than file name. 
  2094.  
  2095.  Returns 
  2096.  
  2097.  Number of files transferred. 
  2098.  
  2099.  
  2100. ΓòÉΓòÉΓòÉ 10.1.29. ymodem_receive ΓòÉΓòÉΓòÉ
  2101.  
  2102.  ymodem_receive dde_output,dde_input 
  2103.  
  2104.  Example 
  2105.  
  2106.  Call ymodem_receive dde_output,dde_input 
  2107.  
  2108.  Description 
  2109.  
  2110.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  2111.  issued the call will not return until the transfer either finishes or is 
  2112.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2113.  downloading from the menu. The file will be downloaded into the download 
  2114.  directory. This one call will receive multiple files. The filenames used are 
  2115.  the ones sent from the remote computer. 
  2116.  
  2117.  Returns 
  2118.  
  2119.  Number of files transferred. 
  2120.  
  2121.  
  2122. ΓòÉΓòÉΓòÉ 10.1.30. ymodemg_send ΓòÉΓòÉΓòÉ
  2123.  
  2124.  ymodemg_send filename,dde_output,dde_input 
  2125.  
  2126.  Example 
  2127.  
  2128.  Call ymodemg_send "filename.ext",dde_output,dde_input 
  2129.  
  2130.  Description 
  2131.  
  2132.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  2133.  issued the call will not return until the transfer either finishes or is 
  2134.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2135.  uploading from the menu. You may send multiple files by specifying more than 
  2136.  file name. 
  2137.  
  2138.  Returns 
  2139.  
  2140.  Number of files transferred. 
  2141.  
  2142.  
  2143. ΓòÉΓòÉΓòÉ 10.1.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  2144.  
  2145.  ymodemg_receive dde_output,dde_input 
  2146.  
  2147.  Example 
  2148.  
  2149.  Call ymodemg_receive dde_output,dde_input 
  2150.  
  2151.  Description 
  2152.  
  2153.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  2154.  issued the call will not return until the transfer either finishes or is 
  2155.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2156.  downloading from the menu. The file will be downloaded into the download 
  2157.  directory. This one call will receive multiple files. The filenames used are 
  2158.  the ones sent from the remote computer. 
  2159.  
  2160.  Returns 
  2161.  
  2162.  Number of files transferred. 
  2163.  
  2164.  
  2165. ΓòÉΓòÉΓòÉ 10.1.32. zmodem_send ΓòÉΓòÉΓòÉ
  2166.  
  2167.  zmodem_send filename,dde_output,dde_input 
  2168.  
  2169.  Example 
  2170.  
  2171.  Call zmodem_send "filename.ext",dde_output,dde_input 
  2172.  
  2173.  Description 
  2174.  
  2175.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  2176.  the call will not return until the transfer either finishes or is aborted. 
  2177.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2178.  the menu. You may send multiple files by specifying more than file name. 
  2179.  
  2180.  Returns 
  2181.  
  2182.  Number of files transferred. 
  2183.  
  2184.  
  2185. ΓòÉΓòÉΓòÉ 10.1.33. zmodem_receive ΓòÉΓòÉΓòÉ
  2186.  
  2187.  zmodem_receive dde_output,dde_input 
  2188.  
  2189.  Example 
  2190.  
  2191.  Call zmodem_receive dde_output,dde_input 
  2192.  
  2193.  Description 
  2194.  
  2195.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  2196.  issued the call will not return until the transfer either finishes or is 
  2197.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2198.  downloading from the menu. The file will be downloaded into the download 
  2199.  directory. This one call will receive multiple files. The filenames used are 
  2200.  the ones sent from the remote computer. 
  2201.  
  2202.  Returns 
  2203.  
  2204.  Number of files transferred. 
  2205.  
  2206.  
  2207. ΓòÉΓòÉΓòÉ 10.1.34. kermit_send ΓòÉΓòÉΓòÉ
  2208.  
  2209.  kermit_send filename,dde_output,dde_input 
  2210.  
  2211.  Example 
  2212.  
  2213.  Call kermit_send "filename.ext",dde_output,dde_input 
  2214.  
  2215.  Description 
  2216.  
  2217.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  2218.  the call will not return until the transfer either finishes or is aborted. 
  2219.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2220.  the menu. You may send multiple files by specifying more than file name. 
  2221.  
  2222.  Returns 
  2223.  
  2224.  Number of files transferred. 
  2225.  
  2226.  
  2227. ΓòÉΓòÉΓòÉ 10.1.35. kermit_receive ΓòÉΓòÉΓòÉ
  2228.  
  2229.  kermit_receive dde_output,dde_input 
  2230.  
  2231.  Example 
  2232.  
  2233.  Call kermit_receive dde_output,dde_input 
  2234.  
  2235.  Description 
  2236.  
  2237.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  2238.  issued the call will not return until the transfer either finishes or is 
  2239.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2240.  downloading from the menu. The file will be downloaded into the download 
  2241.  directory. This one call will receive multiple files. The filenames used are 
  2242.  the ones sent from the remote computer. 
  2243.  
  2244.  Returns 
  2245.  
  2246.  Number of files transferred. 
  2247.  
  2248.  
  2249. ΓòÉΓòÉΓòÉ 10.1.36. ascii_send ΓòÉΓòÉΓòÉ
  2250.  
  2251.  ascii_send filename,dde_output,dde_input 
  2252.  
  2253.  Example 
  2254.  
  2255.  Call ascii_send "filename.ext",dde_output,dde_input 
  2256.  
  2257.  Description 
  2258.  
  2259.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  2260.  the call will not return until the transfer either finishes or is aborted. 
  2261.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2262.  the menu. 
  2263.  
  2264.  Returns 
  2265.  
  2266.  1 if call is successful and 0 if unsuccessful. 
  2267.  
  2268.  
  2269. ΓòÉΓòÉΓòÉ 10.1.37. ascii_receive ΓòÉΓòÉΓòÉ
  2270.  
  2271.  ascii_receive filename,dde_output,dde_input 
  2272.  
  2273.  Example 
  2274.  
  2275.  Call ascii_receive "filename.ext",dde_output,dde_input 
  2276.  
  2277.  Description 
  2278.  
  2279.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  2280.  issued the call will not return until the transfer either finishes or is 
  2281.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2282.  downloading from the menu. The file will be downloaded into the download 
  2283.  directory. The file name specified must not include a path. 
  2284.  
  2285.  Returns 
  2286.  
  2287.  1 if call is successful and 0 if unsuccessful. 
  2288.  
  2289.  
  2290. ΓòÉΓòÉΓòÉ 10.1.38. cisb_send ΓòÉΓòÉΓòÉ
  2291.  
  2292.  cisb_send filename,dde_output,dde_input 
  2293.  
  2294.  Example 
  2295.  
  2296.  Call cisb_send "filename.ext",dde_output,dde_input 
  2297.  
  2298.  Description 
  2299.  
  2300.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  2301.  the call will not return until the transfer either finishes or is aborted. 
  2302.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2303.  the menu. 
  2304.  
  2305.  Returns 
  2306.  
  2307.  1 if call is successful and 0 if unsuccessful. 
  2308.  
  2309.  
  2310. ΓòÉΓòÉΓòÉ 10.1.39. cisb_receive ΓòÉΓòÉΓòÉ
  2311.  
  2312.  cisb_receive filename,dde_output,dde_input 
  2313.  
  2314.  Example 
  2315.  
  2316.  Call cisb_receive "filename.ext",dde_output,dde_input 
  2317.  
  2318.  Description 
  2319.  
  2320.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  2321.  the call will not return until the transfer either finishes or is aborted. 
  2322.  Pmcomm will show the normal transfer dialog that it does when downloading from 
  2323.  the menu. The file will be downloaded into the download directory. The file 
  2324.  name specified must not include a path. 
  2325.  
  2326.  Returns 
  2327.  
  2328.  1 if call is successful and 0 if unsuccessful. 
  2329.  
  2330.  
  2331. ΓòÉΓòÉΓòÉ 10.2. Internal Functions ΓòÉΓòÉΓòÉ
  2332.  
  2333. These are script functions that are built into Pmcomm. 
  2334.  
  2335.  
  2336. ΓòÉΓòÉΓòÉ 10.2.1. wait_for (internal) ΓòÉΓòÉΓòÉ
  2337.  
  2338.  wait_for("string"); 
  2339.  
  2340.  This will wait until the word 'string' is received. One use of this is when 
  2341.  logging onto a BBS you can have it wait until prompted for a first name. 
  2342.  
  2343.  
  2344. ΓòÉΓòÉΓòÉ 10.2.2. puts ΓòÉΓòÉΓòÉ
  2345.  
  2346.  puts("string"); 
  2347.  
  2348.  This will send string to the comport. The 'C' language special character 
  2349.  '\r','\n','\b',and '\a' can also be used. 
  2350.  
  2351.  The \r means carriage return. 
  2352.  
  2353.  The \n means carriage return and line feed combination. 
  2354.  
  2355.  The \b means backspace. 
  2356.  
  2357.  The \a means alert (Pmcomm will beep). 
  2358.  
  2359.  
  2360. ΓòÉΓòÉΓòÉ 10.2.3. sleep (internal) ΓòÉΓòÉΓòÉ
  2361.  
  2362.  sleep(1000); 
  2363.  
  2364.  This will wait for the number of milliseconds specified. In this example it 
  2365.  would sleep for one second. 
  2366.  
  2367.  
  2368. ΓòÉΓòÉΓòÉ 10.2.4. call ΓòÉΓòÉΓòÉ
  2369.  
  2370.  call("filename"); 
  2371.  
  2372.  This allows you to nest scripts. If you put the name of the script that you 
  2373.  want to execute where it says filename, it will execute that script and then 
  2374.  continue. The limit on number of nested scripts is only by available stack 
  2375.  space. 
  2376.  
  2377.  
  2378. ΓòÉΓòÉΓòÉ 10.2.5. capture_on ΓòÉΓòÉΓòÉ
  2379.  
  2380.  capture_on("filename"); 
  2381.  
  2382.  Captures all screen output to a file. Replace filename with the name of the 
  2383.  file you want the output written to. The capture file will be automatically 
  2384.  closed when you log off, if you have Monitor_DCD selected. 
  2385.  
  2386.  
  2387. ΓòÉΓòÉΓòÉ 10.2.6. capture_off ΓòÉΓòÉΓòÉ
  2388.  
  2389.  capture_off(); 
  2390.  
  2391.  Stops screen capture and closes the capture file. You can also close the 
  2392.  capture file from the menu. 
  2393.  
  2394.  
  2395. ΓòÉΓòÉΓòÉ 10.2.7. shell ΓòÉΓòÉΓòÉ
  2396.  
  2397.  shell("\path\filename.ext"); 
  2398.  
  2399.  Allows you to call an external program to run from a script. 
  2400.  
  2401.  
  2402. ΓòÉΓòÉΓòÉ 10.3. 'C' Functions ΓòÉΓòÉΓòÉ
  2403.  
  2404. These are the functions that are included in the cpmcomms and cpmcomml 
  2405. libraries. The cpmcomms.lib is a small model library and the cpmcomml.lib is a 
  2406. large model library. The cpmcomm.h file has function definitions and should be 
  2407. included in any program that uses the cpmcomm libraries. The function init_lib 
  2408. must be called before any other of the library routines are used. 
  2409.  
  2410.  
  2411. ΓòÉΓòÉΓòÉ 10.3.1. wait_for ΓòÉΓòÉΓòÉ
  2412.  
  2413.  USHORT wait_for(USHORT argc,CHAR **argv,HFILE port); 
  2414.  
  2415.  Example 
  2416.  
  2417.  USHORT result; 
  2418.  
  2419.  CHAR *argv[2]; 
  2420.  
  2421.  CHAR string1[80]; 
  2422.  
  2423.  CHAR string2[80]; 
  2424.  
  2425.  strcpy(string1,"first name?"); 
  2426.  
  2427.  strcpy(string2,"last name?"); 
  2428.  
  2429.  argv[0] = string1; 
  2430.  
  2431.  argv[1] = string2; 
  2432.  
  2433.  result = wait_for(2,argv,port); 
  2434.  
  2435.  Description 
  2436.  
  2437.  The above example would wait for either first name?, or last name?, from the 
  2438.  com port. The function will return the index of the  string that matched. For 
  2439.  example if the wait_for received last name?, then the result would be 2. You 
  2440.  can specify any number of strings depending on memory available. 
  2441.  
  2442.  Returns 
  2443.  
  2444.  Index of matched string or zero if timeout or error. 
  2445.  
  2446.  
  2447. ΓòÉΓòÉΓòÉ 10.3.2. wait_fore ΓòÉΓòÉΓòÉ
  2448.  
  2449.  USHORT wait_fore(USHORT argc,CHAR **argv,HFILE port, HFILE screen_handle); 
  2450.  
  2451.  Example 
  2452.  
  2453.  USHORT result; 
  2454.  
  2455.  CHAR *argv[2]; 
  2456.  
  2457.  CHAR string1[80]; 
  2458.  
  2459.  CHAR string2[80]; 
  2460.  
  2461.  strcpy(string1,"first name?"); 
  2462.  
  2463.  strcpy(string2,"last name?"); 
  2464.  
  2465.  argv[0] = string1; 
  2466.  
  2467.  argv[1] = string2; 
  2468.  
  2469.  result = wait_for(2,argv,port,screen_handle); 
  2470.  
  2471.  Description 
  2472.  
  2473.  The first example would wait for either first name?, or last name?, from the 
  2474.  com port and echo the out_put to the Pmcomm screen. 
  2475.  
  2476.  Returns 
  2477.  
  2478.  Index of matched string or zero if timeout or error. 
  2479.  
  2480.  
  2481. ΓòÉΓòÉΓòÉ 10.3.3. put_s ΓòÉΓòÉΓòÉ
  2482.  
  2483.  USHORT put_s(char *string,HFILE port); 
  2484.  
  2485.  Example 
  2486.  
  2487.  put_s("first name",port); 
  2488.  
  2489.  Description 
  2490.  
  2491.  This call will send string out to port. In the above example first name will 
  2492.  be sent to the com port. If screen_handle is specified instead of port then 
  2493.  the string will be sent to the Pmcomm screen. 
  2494.  
  2495.  Returns 
  2496.  
  2497.  Length of string actually written. 
  2498.  
  2499.  
  2500. ΓòÉΓòÉΓòÉ 10.3.4. sleep ΓòÉΓòÉΓòÉ
  2501.  
  2502.  VOID sleep(ULONG time); 
  2503.  
  2504.  Example 
  2505.  
  2506.  sleep(1000L); 
  2507.  
  2508.  Description 
  2509.  
  2510.  This call will delay the program for the amount of milliseconds specified. The 
  2511.  above example will delay the computer for one second. 
  2512.  
  2513.  Returns 
  2514.  
  2515.  None. 
  2516.  
  2517.  
  2518. ΓòÉΓòÉΓòÉ 10.3.5. beep ΓòÉΓòÉΓòÉ
  2519.  
  2520.  VOID beep(USHORT frequency,USHORT duration); 
  2521.  
  2522.  Example 
  2523.  
  2524.  beep(495,100); 
  2525.  
  2526.  Description 
  2527.  
  2528.  The above example will beep the speaker. 
  2529.  
  2530.  Returns 
  2531.  
  2532.  None. 
  2533.  
  2534.  
  2535. ΓòÉΓòÉΓòÉ 10.3.6. os2_shell ΓòÉΓòÉΓòÉ
  2536.  
  2537.  VOID os2_shell(HFILE port,HFILE port); 
  2538.  
  2539.  Example 
  2540.  
  2541.  os2_shell(port,port); 
  2542.  
  2543.  Description 
  2544.  
  2545.  This command will allow a caller to shell to OS/2, remotely. The first 
  2546.  parameter is input handle and the second is the output handle. In the example 
  2547.  above, the command will receive and send the information to the com port. 
  2548.  
  2549.  Returns 
  2550.  
  2551.  None. 
  2552.  
  2553.  
  2554. ΓòÉΓòÉΓòÉ 10.3.7. init_lib ΓòÉΓòÉΓòÉ
  2555.  
  2556.  USHORT init_lib(int argc,char **argv); 
  2557.  
  2558.  Example 
  2559.  
  2560.  main(argc,argv) 
  2561.  
  2562.  { 
  2563.  
  2564.  init_lib(argc,argv); 
  2565.  
  2566.  ... 
  2567.  
  2568.  } 
  2569.  
  2570.  The init_lib function will initialize some global variables that are passed on 
  2571.  the command line. These variables are: 
  2572.  
  2573.  USHORT port; 
  2574.  
  2575.  CHAR portname[15]; 
  2576.  
  2577.  HFILE dde_output,dde_input; 
  2578.  
  2579.  HFILE screen_handle; 
  2580.  
  2581.  This function must be called before any other library function is called. 
  2582.  
  2583.  Returns 
  2584.  
  2585.  1 if sucessful and 0 if not. 
  2586.  
  2587.  
  2588. ΓòÉΓòÉΓòÉ 10.3.8. 'C' set_download_path ΓòÉΓòÉΓòÉ
  2589.  
  2590.  VOID set_download_path(char *path); 
  2591.  
  2592.  Example 
  2593.  
  2594.  set_download_path("c:\pmcomm"); 
  2595.  
  2596.  Description 
  2597.  
  2598.  The above example will set the download path to c:\pmcomm. This will store all 
  2599.  of the files received in that directory. 
  2600.  
  2601.  Returns 
  2602.  
  2603.  None. 
  2604.  
  2605.  
  2606. ΓòÉΓòÉΓòÉ 10.3.9. setcom ΓòÉΓòÉΓòÉ
  2607.  
  2608.  SHORT setcom(char *baud,UCHAR parity,UCHAR data_bit,UCHAR stop_bits,HFILE 
  2609.  port); 
  2610.  
  2611.  Example 
  2612.  
  2613.  setcom("2400",'N',8,1,port); 
  2614.  
  2615.  Description 
  2616.  
  2617.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  2618.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  2619.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  2620.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If the 
  2621.  baud parameter is an empty string i.e. setcom("",'E',7,1,port) this leave the 
  2622.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  2623.  
  2624.  Returns 
  2625.  
  2626.  1 if successful and 0 if unsuccessful. 
  2627.  
  2628.  
  2629. ΓòÉΓòÉΓòÉ 10.3.10. sendb ΓòÉΓòÉΓòÉ
  2630.  
  2631.  VOID sendb(LONG length,HFILE port); 
  2632.  
  2633.  Example 
  2634.  
  2635.  sendb(300L,port); 
  2636.  
  2637.  Description 
  2638.  
  2639.  This call sends a break signal a certain time in milliseconds. The above 
  2640.  example would send a break signal for 300 milliseconds. This call is mostly 
  2641.  used to establish direct connects (not using a modem). Three hundred 
  2642.  milliseconds should be okay for most situations. 
  2643.  
  2644.  Returns 
  2645.  
  2646.  None. 
  2647.  
  2648.  
  2649. ΓòÉΓòÉΓòÉ 10.3.11. dcd ΓòÉΓòÉΓòÉ
  2650.  
  2651.  USHORT dcd(HFILE port); 
  2652.  
  2653.  Example 
  2654.  
  2655.  dcd(port); 
  2656.  
  2657.  Description 
  2658.  
  2659.  This call checks to see if there is a carrier detected on the modem. You can 
  2660.  use this to see if Pmcomm is still online to a remote computer. For this 
  2661.  information to be correct the modem must support dcd and the modem must be 
  2662.  configured to support dcd. To find the command refer to your owner's manual. 
  2663.  
  2664.  Returns 
  2665.  
  2666.  1 if carrier detected and 0 if no carrier. 
  2667.  
  2668.  
  2669. ΓòÉΓòÉΓòÉ 10.3.12. char_avail ΓòÉΓòÉΓòÉ
  2670.  
  2671.  USHORT char_avail(HFILE port); 
  2672.  
  2673.  Example 
  2674.  
  2675.  char_avail(port); 
  2676.  
  2677.  Description 
  2678.  
  2679.  This call checks to see how many characters are available in the device 
  2680.  drivers receive buffer. You can use this function to check to see if the 
  2681.  device driver has received any characters from the com port. 
  2682.  
  2683.  Returns 
  2684.  
  2685.  Number of characters in device driver receive queue. 
  2686.  
  2687.  
  2688. ΓòÉΓòÉΓòÉ 10.3.13. read_timeout ΓòÉΓòÉΓòÉ
  2689.  
  2690.  read_timeout(USHORT timeout,HFILE port); 
  2691.  
  2692.  Example 
  2693.  
  2694.  read_timeout(20000,port); 
  2695.  
  2696.  Description 
  2697.  
  2698.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  2699.  get_ch will wait for a character from the com port. The above example will 
  2700.  make the functions wait for 20 seconds. 
  2701.  
  2702.  Returns 
  2703.  
  2704.  1 if successful and 0 if unsuccessful. 
  2705.  
  2706.  
  2707. ΓòÉΓòÉΓòÉ 10.3.14. get_ch ΓòÉΓòÉΓòÉ
  2708.  
  2709.  CHAR get_ch(HFILE port); 
  2710.  
  2711.  Example 
  2712.  
  2713.  ch = get_ch(port); 
  2714.  
  2715.  Description 
  2716.  
  2717.  This call will get a character from the com port. If no character is available 
  2718.  by the time set with read_timeout the function will return with a value of -1. 
  2719.  Otherwise the function will return with the character read. 
  2720.  
  2721.  Returns 
  2722.  
  2723.  char value if successful and -1 if unsuccessful. 
  2724.  
  2725.  
  2726. ΓòÉΓòÉΓòÉ 10.3.15. ring_detect ΓòÉΓòÉΓòÉ
  2727.  
  2728.  USHORT ring_detect(HFILE port); 
  2729.  
  2730.  Example 
  2731.  
  2732.  ring_detect(port); 
  2733.  
  2734.  Description 
  2735.  
  2736.  This call can be used to inform a program if the phone is ringing. 
  2737.  
  2738.  Returns 
  2739.  
  2740.  1 if ring detected, 0 if no ring. 
  2741.  
  2742.  
  2743. ΓòÉΓòÉΓòÉ 10.3.16. drop_dtr ΓòÉΓòÉΓòÉ
  2744.  
  2745.  VOID drop_dtr(HFILE port); 
  2746.  
  2747.  Example 
  2748.  
  2749.  drop_dtr(port); 
  2750.  
  2751.  Description 
  2752.  
  2753.  This call is usually used to make a modem hang up. The modem must be 
  2754.  configured to allow this. To find the command for your modem, check your 
  2755.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  2756.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  2757.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  2758.  modem from doing an auto answer until you raise_dtr again. 
  2759.  
  2760.  Returns 
  2761.  
  2762.  None. 
  2763.  
  2764.  
  2765. ΓòÉΓòÉΓòÉ 10.3.17. raise_dtr ΓòÉΓòÉΓòÉ
  2766.  
  2767.  VOID raise_dtr(HFILE port); 
  2768.  
  2769.  Example 
  2770.  
  2771.  raise_dtr(port); 
  2772.  
  2773.  Description This call is usually used after drop_dtr to allow the modem to 
  2774.  process commands and enable it to answer the phone. 
  2775.  
  2776.  Returns 
  2777.  
  2778.  None. 
  2779.  
  2780.  
  2781. ΓòÉΓòÉΓòÉ 10.3.18. get_cursor_position ΓòÉΓòÉΓòÉ
  2782.  
  2783.  USHORT get_cursor_position(char *str); 
  2784.  
  2785.  Example 
  2786.  
  2787.  get_cursor_position("column"); 
  2788.  
  2789.  Description 
  2790.  
  2791.  The above will return the column that the cursor is in. To get the current 
  2792.  row, you would issue this call with "row" instead of "column". The row value 
  2793.  that is returned is relative to the top of the scroll back buffer. The top row 
  2794.  of the scroll back buffer and the first column would be 0,0. 
  2795.  
  2796.  Returns 
  2797.  
  2798.  Cursor position. 
  2799.  
  2800.  
  2801. ΓòÉΓòÉΓòÉ 10.3.19. get_char_at ΓòÉΓòÉΓòÉ
  2802.  
  2803.  VOID get_char_at(USHORT row,USHORT col,USHORT num,char *returnstr); 
  2804.  
  2805.  Example 
  2806.  
  2807.  get_char_at(0,0,80,str); 
  2808.  
  2809.  Description 
  2810.  
  2811.  The above will return the characters at the first line (stored in str) of the 
  2812.  scroll back buffer. It will return 80 characters, even if the characters are 
  2813.  spaces. The maximum number of characters that can be returned at one time is 
  2814.  200. 
  2815.  
  2816.  Returns 
  2817.  
  2818.  None. 
  2819.  
  2820.  
  2821. ΓòÉΓòÉΓòÉ 10.3.20. 'C'capture_on ΓòÉΓòÉΓòÉ
  2822.  
  2823.  USHORT capture_on(filename); 
  2824.  
  2825.  Example 
  2826.  
  2827.  capture_on("c:\pmcomm\cap.txt"); 
  2828.  
  2829.  Description 
  2830.  
  2831.  The above will turn capture on so that everything will be saved into a file. 
  2832.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  2833.  in ANSI, and VT100 terminal emulation. 
  2834.  
  2835.  Returns 
  2836.  
  2837.  1 if successful and 0 if not. 
  2838.  
  2839.  
  2840. ΓòÉΓòÉΓòÉ 10.3.21. 'C' capture_off ΓòÉΓòÉΓòÉ
  2841.  
  2842.  VOID capture_off(VOID); 
  2843.  
  2844.  Example 
  2845.  
  2846.  capture_off(); 
  2847.  
  2848.  Description 
  2849.  
  2850.  The above will turn capture off. The capture may have been started from a 
  2851.  script or from the menu. 
  2852.  
  2853.  Returns 
  2854.  
  2855.  1 if successful and 0 if not. 
  2856.  
  2857.  
  2858. ΓòÉΓòÉΓòÉ 10.3.22. xmodem_send ΓòÉΓòÉΓòÉ
  2859.  
  2860.  USHORT xmodem_send(char *filename); 
  2861.  
  2862.  Example 
  2863.  
  2864.  xmodem_send("d:\path\filename.ext"); 
  2865.  
  2866.  Description 
  2867.  
  2868.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  2869.  issued the call will not return until the transfer either finishes or is 
  2870.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2871.  is selected from the menu. 
  2872.  
  2873.  Returns 
  2874.  
  2875.  1 if the transfer is successful and 0 if unsuccessful. 
  2876.  
  2877.  
  2878. ΓòÉΓòÉΓòÉ 10.3.23. xmodem_receive ΓòÉΓòÉΓòÉ
  2879.  
  2880.  USHORT xmodem_receive(char *filename); 
  2881.  
  2882.  Example 
  2883.  
  2884.  xmodem_receive("d:\path\filename.ext"); 
  2885.  
  2886.  Description 
  2887.  
  2888.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  2889.  issued the call will not return until the transfer either finishes or is 
  2890.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2891.  from the menu. The file name specified must include a path. 
  2892.  
  2893.  Returns 
  2894.  
  2895.  1 if transfer is successful and 0 if unsuccessful. 
  2896.  
  2897.  
  2898. ΓòÉΓòÉΓòÉ 10.3.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  2899.  
  2900.  USHORT xmodem_chk_send(char *filename); 
  2901.  
  2902.  Example 
  2903.  
  2904.  xmodem_chk_send("d:\path\filename.ext"); 
  2905.  
  2906.  Description 
  2907.  
  2908.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2909.  Once issued the call will not return until the transfer either finishes or is 
  2910.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2911.  is selected from the menu. 
  2912.  
  2913.  Returns 
  2914.  
  2915.  1 if transfer is successful and 0 if unsuccessful. 
  2916.  
  2917.  
  2918. ΓòÉΓòÉΓòÉ 10.3.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2919.  
  2920.  USHORT xmodem_chk_receive(char *filename); 
  2921.  
  2922.  Example 
  2923.  
  2924.  xmodem_chk_receive("d:\path\filename.ext"); 
  2925.  
  2926.  Description 
  2927.  
  2928.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  2929.  Once issued the call will not return until the transfer either finishes or is 
  2930.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2931.  from the menu. The file name specified must include a path. 
  2932.  
  2933.  Returns 
  2934.  
  2935.  1 if transfer is successful and 0 if unsuccessful. 
  2936.  
  2937.  
  2938. ΓòÉΓòÉΓòÉ 10.3.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  2939.  
  2940.  USHORT xmodem_1k_send(char *filename); 
  2941.  
  2942.  Example 
  2943.  
  2944.  xmodem_1k_send("d:\path\filename.ext"); 
  2945.  
  2946.  Description 
  2947.  
  2948.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  2949.  issued the call will not return until the transfer either finishes or is 
  2950.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2951.  is selected from the menu. 
  2952.  
  2953.  Returns 
  2954.  
  2955.  1 if transfer is successful and 0 if unsuccessful. 
  2956.  
  2957.  
  2958. ΓòÉΓòÉΓòÉ 10.3.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  2959.  
  2960.  USHORT xmodem_1k_receive(char *filename); 
  2961.  
  2962.  Example 
  2963.  
  2964.  xmodem_1k_receive("d:\path\filename.ext"); 
  2965.  
  2966.  Description 
  2967.  
  2968.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  2969.  issued the call will not return until the transfer either finishes or is 
  2970.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2971.  from the menu. The file name specified must include a path. 
  2972.  
  2973.  Returns 
  2974.  
  2975.  1 if transfer is successful and 0 if unsuccessful. 
  2976.  
  2977.  
  2978. ΓòÉΓòÉΓòÉ 10.3.28. ymodem_send ΓòÉΓòÉΓòÉ
  2979.  
  2980.  USHORT ymodem_send(USHORT num_files,CHAR **filearray); 
  2981.  
  2982.  Example 
  2983.  
  2984.  USHORT result; 
  2985.  
  2986.  CHAR *filearray[2]; 
  2987.  
  2988.  CHAR string1[80]; 
  2989.  
  2990.  CHAR string2[80]; 
  2991.  
  2992.  strcpy(string1,"pmcom106.zip"); 
  2993.  
  2994.  strcpy(string2,"pmcom107.zip"); 
  2995.  
  2996.  filearray[0] = string1; 
  2997.  
  2998.  filearray[1] = string2; 
  2999.  
  3000.  result = ymodem_send(2,filearray); 
  3001.  
  3002.  Description 
  3003.  
  3004.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  3005.  the call will not return until the transfer either finishes or is aborted. 
  3006.  Pmcomm will show the normal transfer box that it does when download is 
  3007.  selected from the menu. As many as 8 files can be sent at one time. 
  3008.  
  3009.  Returns 
  3010.  
  3011.  Number of files successfully transferred. 
  3012.  
  3013.  
  3014. ΓòÉΓòÉΓòÉ 10.3.29. ymodem_receive ΓòÉΓòÉΓòÉ
  3015.  
  3016.  USHORT ymodem_receive(VOID); 
  3017.  
  3018.  Example 
  3019.  
  3020.  ymodem_receive(); 
  3021.  
  3022.  Description 
  3023.  
  3024.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  3025.  issued the call will not return until the transfer either finishes or is 
  3026.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3027.  from the menu. Only a single file at a time will be accepted. 
  3028.  
  3029.  Returns 
  3030.  
  3031.  1 if call is successful and 0 if unsuccessful. 
  3032.  
  3033.  
  3034. ΓòÉΓòÉΓòÉ 10.3.30. ymodemg_send ΓòÉΓòÉΓòÉ
  3035.  
  3036.  USHORT ymodemg_send(USHORT num_files, CHAR **filearray); 
  3037.  
  3038.  Example 
  3039.  
  3040.  USHORT result; 
  3041.  
  3042.  CHAR *filearray[2]; 
  3043.  
  3044.  CHAR string1[80]; 
  3045.  
  3046.  CHAR string2[80]; 
  3047.  
  3048.  strcpy(string1,"pmcom106.zip"); 
  3049.  
  3050.  strcpy(string2,"pmcom107.zip"); 
  3051.  
  3052.  filearray[0] = string1; 
  3053.  
  3054.  filearray[1] = string2; 
  3055.  
  3056.  result = ymodemg_send(2,filearray); 
  3057.  
  3058.  Description 
  3059.  
  3060.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  3061.  issued the call will not return until the transfer either finishes or is 
  3062.  aborted. Pmcomm will show the normal transfer box that it does when 
  3063.  downloading from the menu. As many as 8 files can be sent at one time. 
  3064.  
  3065.  Returns 
  3066.  
  3067.  Number of files successfully transferred. 
  3068.  
  3069.  
  3070. ΓòÉΓòÉΓòÉ 10.3.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  3071.  
  3072.  USHORT ymodemg_receive(VOID); 
  3073.  
  3074.  Example 
  3075.  
  3076.  ymodemg_receive(); 
  3077.  
  3078.  Description 
  3079.  
  3080.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  3081.  issued the call will not return until the transfer either finishes or is 
  3082.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3083.  from the menu. Only one file at a time can be received. 
  3084.  
  3085.  Returns 
  3086.  
  3087.  1 if call is successful and 0 if unsuccessful. 
  3088.  
  3089.  
  3090. ΓòÉΓòÉΓòÉ 10.3.32. zmodem_send ΓòÉΓòÉΓòÉ
  3091.  
  3092.  USHORT zmodem_send(USHORT num_files, CHAR **filearray); 
  3093.  
  3094.  Example 
  3095.  
  3096.  USHORT result; 
  3097.  
  3098.  CHAR *filearray[2]; 
  3099.  
  3100.  CHAR string1[80]; 
  3101.  
  3102.  CHAR string2[80]; 
  3103.  
  3104.  strcpy(string1,"pmcom106.zip"); 
  3105.  
  3106.  strcpy(string2,"pmcom107.zip"); 
  3107.  
  3108.  filearray[0] = string1; 
  3109.  
  3110.  filearray[1] = string2; 
  3111.  
  3112.  result = zmodem_send(2,filearray); 
  3113.  
  3114.  Description 
  3115.  
  3116.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  3117.  the call will not return until the transfer either finishes or is aborted. 
  3118.  Pmcomm will show the normal transfer box that it does when downloading from 
  3119.  the menu. As many as 100 files may be transferred at one time. 
  3120.  
  3121.  Returns 
  3122.  
  3123.  Number of files successfully transferred. 
  3124.  
  3125.  
  3126. ΓòÉΓòÉΓòÉ 10.3.33. zmodem_receive ΓòÉΓòÉΓòÉ
  3127.  
  3128.  USHORT zmodem_receive(VOID); 
  3129.  
  3130.  Example 
  3131.  
  3132.  zmodem_receive(); 
  3133.  
  3134.  Description 
  3135.  
  3136.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  3137.  issued the call will not return until the transfer either finishes or is 
  3138.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3139.  from the menu. Only one file at a time can be received. 
  3140.  
  3141.  Returns 
  3142.  
  3143.  The number of files transferred. 
  3144.  
  3145.  
  3146. ΓòÉΓòÉΓòÉ 10.3.34. kermit_send ΓòÉΓòÉΓòÉ
  3147.  
  3148.  USHORT kermit_send(USHORT num_files, CHAR **filearray); 
  3149.  
  3150.  Example 
  3151.  
  3152.  USHORT result; 
  3153.  
  3154.  CHAR *filearray[2]; 
  3155.  
  3156.  CHAR string1[80]; 
  3157.  
  3158.  CHAR string2[80]; 
  3159.  
  3160.  strcpy(string1,"pmcom106.zip"); 
  3161.  
  3162.  strcpy(string2,"pmcom107.zip"); 
  3163.  
  3164.  filearray[0] = string1; 
  3165.  
  3166.  filearray[1] = string2; 
  3167.  
  3168.  result = kermit_send(2,filearray); 
  3169.  
  3170.  Description 
  3171.  
  3172.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  3173.  the call will not return until the transfer either finishes or is aborted. 
  3174.  Pmcomm will show the normal transfer box that it does when downloading from 
  3175.  the menu. As many as 100 files may be transferred at one time. 
  3176.  
  3177.  Returns 
  3178.  
  3179.  Number of files successfully transferred. 
  3180.  
  3181.  
  3182. ΓòÉΓòÉΓòÉ 10.3.35. kermit_receive ΓòÉΓòÉΓòÉ
  3183.  
  3184.  USHORT kermit_receive(VOID); 
  3185.  
  3186.  Example 
  3187.  
  3188.  kermit_receive(); 
  3189.  
  3190.  Description 
  3191.  
  3192.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  3193.  issued the call will not return until the transfer either finishes or is 
  3194.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3195.  from the menu. Only one file at a time can be received. 
  3196.  
  3197.  Returns 
  3198.  
  3199.  Number of files transferred. 
  3200.  
  3201.  
  3202. ΓòÉΓòÉΓòÉ 10.3.36. ascii_send ΓòÉΓòÉΓòÉ
  3203.  
  3204.  USHORT ascii_send(char *filename); 
  3205.  
  3206.  Example 
  3207.  
  3208.  ascii_send("d:\path\filename.ext"); 
  3209.  
  3210.  Description 
  3211.  
  3212.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  3213.  the call will not return until the transfer either finishes or is aborted. 
  3214.  Pmcomm will show the normal transfer box that it does when downloading from 
  3215.  the menu. 
  3216.  
  3217.  Returns 
  3218.  
  3219.  1 if transfer is successful and 0 if unsuccessful. 
  3220.  
  3221.  
  3222. ΓòÉΓòÉΓòÉ 10.3.37. ascii_receive ΓòÉΓòÉΓòÉ
  3223.  
  3224.  USHORT ascii_receive(filename); 
  3225.  
  3226.  Example 
  3227.  
  3228.  ascii_receive("d:\path\filename.ext"); 
  3229.  
  3230.  Description 
  3231.  
  3232.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  3233.  issued the call will not return until the transfer either finishes or is 
  3234.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3235.  from the menu. The file name specified must not include a path. 
  3236.  
  3237.  Returns 
  3238.  
  3239.  1 if transfer is successful and 0 if unsuccessful. 
  3240.  
  3241.  
  3242. ΓòÉΓòÉΓòÉ 10.3.38. cisb_send ΓòÉΓòÉΓòÉ
  3243.  
  3244.  USHORT cisb_send(char *filename); 
  3245.  
  3246.  Example 
  3247.  
  3248.  cisb_send("d:\path\filename.ext"); 
  3249.  
  3250.  Description 
  3251.  
  3252.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  3253.  the call will not return until the transfer either finishes or is aborted. 
  3254.  Pmcomm will show the normal transfer box that it does when download is 
  3255.  selected from the menu. 
  3256.  
  3257.  Returns 
  3258.  
  3259.  1 if the transfer is successful and 0 if unsuccessful. 
  3260.  
  3261.  
  3262. ΓòÉΓòÉΓòÉ 10.3.39. cisb_receive ΓòÉΓòÉΓòÉ
  3263.  
  3264.  USHORT cisb_receive(char *filename); 
  3265.  
  3266.  Example 
  3267.  
  3268.  cisb_receive("d:\path\filename.ext"); 
  3269.  
  3270.  Description 
  3271.  
  3272.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  3273.  the call will not return until the transfer either finishes or is aborted. 
  3274.  Pmcomm will show the normal transfer box that it does when uploading from the 
  3275.  menu. The file name specified must include a path. 
  3276.  
  3277.  Returns 
  3278.  
  3279.  1 if transfer is successful and 0 if unsuccessful. 
  3280.  
  3281.  
  3282. ΓòÉΓòÉΓòÉ 10.4. Sample Scripts ΓòÉΓòÉΓòÉ
  3283.  
  3284. These are scripts to help you, when you start to write your own scripts. 
  3285.  
  3286.  
  3287. ΓòÉΓòÉΓòÉ 10.4.1. REXX Sample ΓòÉΓòÉΓòÉ
  3288.  
  3289.  /* Sample Script*/ 
  3290.  
  3291.  /* This script will allow you to log on to Compu-Plane once you change the 
  3292.  strings stored in the variables called name and pass. Enter the sample.scr 
  3293.  name for the script name of the Compu-Plane phone number, and change the name 
  3294.  in the shell( ) function to the path and filename of this file.*/ 
  3295.  
  3296.  Call RxFuncadd "init_dll","RxPmcomm","init_dll" 
  3297.  
  3298.  /* This function registers the init_dll function with REXX. The init_dll 
  3299.  function will register the rest of the functions in the rxpmcomm.dll. */ 
  3300.  
  3301.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  3302.  
  3303.  /*These are the values that Pmcomm passes on the command line to an external 
  3304.  program. These values can then be used in different REXX functions along with 
  3305.  the rxpmcomm.dll functions. Following is the description of each value: */ 
  3306.  
  3307.  /* port = The handle of the open com port in Pmcomm */ 
  3308.  
  3309.  /* portname = The name of the opened com port ie.. COM1*/ 
  3310.  
  3311.  /* screen_handle = Anything written to the handle will be printed on the 
  3312.  Pmcomm screen. */ 
  3313.  
  3314.  /* dde_input = This must be passed to most functions. It allows the 
  3315.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3316.  
  3317.  /* dde_output = This must be passed to most functions. It allows the 
  3318.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3319.  
  3320.  /* semaphore = This also must be passed to any file transfer function. It 
  3321.  makes your REXX program wait until the transfer has been completed. */ 
  3322.  
  3323.  Call init_dll 
  3324.  
  3325.  /* Required before any other rxpmcomm.dll functions are called. */ 
  3326.  
  3327.  /* Setup variables  */ 
  3328.  
  3329.  name = 'first;last'  /* where first is your first name and last is*/ 
  3330.  pass = 'password'   /* your last name and password is your password.*/ 
  3331.  cr  = '0d'x 
  3332.  
  3333.  Call read_timeout '20000',port 
  3334.  
  3335.  /* This sets the read timeout for 20 seconds. This is used in the Wait_for, 
  3336.  Wait_fore, and the Get_ch functions. */ 
  3337.  
  3338.  Say 'Waiting for first name ...' 
  3339.  
  3340.  /* This will be printed on the REXX screen. */ 
  3341.  
  3342.  Do Forever 
  3343.  
  3344.  Call Wait_fore 'name', 'password', 'continue?','?->', port, screen_handle 
  3345.  
  3346.  /* This call will echo all characters to the Pmcomm screen that come from the 
  3347.  open com port. When one of the strings are matched the function will return 
  3348.  the index of the matched string in the variable result. For example if it 
  3349.  receives the string password then the result will be equal to 2. If the 
  3350.  function waits longer then the read timeout value then result will be equal to 
  3351.  0. */ 
  3352.  match = result 
  3353.    Select 
  3354.     When match=1 then 
  3355.      Do 
  3356.       Call Put_s name||cr,port 
  3357.       Say 'Waiting for password ...' 
  3358.      End 
  3359.     When match=2 then Call Put_s pass||cr,port 
  3360.     When match=3 then Call Put_s cr,port 
  3361.     When match=4 then Exit 
  3362.    Otherwise nop 
  3363.    End 
  3364.  End 
  3365.  Say 'Script ended  -' date( ) time( ) 
  3366.  Exit 
  3367.  
  3368.  
  3369. ΓòÉΓòÉΓòÉ 10.4.2. Internal Sample ΓòÉΓòÉΓòÉ
  3370.  
  3371. An example script to log onto a Multi-Net Communications BBS could be: 
  3372.  
  3373.           wait_for ("first name"); 
  3374.           puts ("john\n"); 
  3375.  wait_for("last name"); 
  3376.  puts("doe\n"); 
  3377.  wait_for("password"); 
  3378.  puts("password\n"); 
  3379.           sleep (1000); 
  3380.  puts("\n"); 
  3381.  
  3382.  Scripts can be executed automatically when logging onto a BBS by specifying 
  3383.  the script filename in the dialing directory for that phone number. You can 
  3384.  execute a script from the  File menu at anytime. 
  3385.  
  3386.  
  3387. ΓòÉΓòÉΓòÉ 11. Installing Pmcomm Host Mode ΓòÉΓòÉΓòÉ
  3388.  
  3389. To install Pmcomm's Host Mode, change to the Pmcomm directory and run the 
  3390. host.exe program. The first prompt will ask you to enter the maximum baud rate 
  3391. of your modem. At the next prompt you must enter the number of selection that 
  3392. matches your modem the closest. If you are unsure of which selection to make, 
  3393. choose the Hayes 2400 modem as your selection. Next, you must enter the path, 
  3394. including drive, of where you wish to install the Host Mode. When prompted, 
  3395. enter your first name, last name, and password. The install program 
  3396. automatically creates a password file in the necessary format. If this is an 
  3397. "open" system new users will be stored in this file automatically. If this is a 
  3398. "closed" system only the people that are registered in this file will be able 
  3399. to access the Host Mode. 
  3400.  
  3401. The six files that the install program creates are HOSTPASS.FLE, HOSTDIR.FLE, 
  3402. HOSTHEAD.FLE, HOST.SCR, HOSTNEWU.FLE, and HOSTHELP.FLE. The HOSTPASS.FLE file 
  3403. is where all of the users' names, passwords, securities, and last time on are 
  3404. stored. The HOSTDIR.FLE file is a list of the directories that have been 
  3405. created for the host mode. The HOSTHEAD.FLE file is the file that is displayed 
  3406. to users when they logon. The HOST.SCR file is the main executable script. The 
  3407. HOSTNEWU.FLE file is the file that is displayed to new users. In order for a 
  3408. user to be able to receive help from the menu, the HOSTHELP.FLE must contain 
  3409. the information that will be displayed. 
  3410.  
  3411.  
  3412. ΓòÉΓòÉΓòÉ 12. How To... ΓòÉΓòÉΓòÉ
  3413.  
  3414. This section gives you examples of how to set Pmcomm up to do different things. 
  3415.  
  3416.  
  3417. ΓòÉΓòÉΓòÉ 12.1. How to make Pmcomm receive incoming calls. ΓòÉΓòÉΓòÉ
  3418.  
  3419. To make Pmcomm receive an incoming call without using the Host Mode, send the 
  3420. following command to the modem. 
  3421.  
  3422.  ATS0=1 
  3423.  
  3424.  
  3425. ΓòÉΓòÉΓòÉ 12.2. How to Use Pmcomm with a modem pool. ΓòÉΓòÉΓòÉ
  3426.  
  3427. Because Pmcomm does not use ACDI, and will allow you to enter any valid 12 
  3428. character name for a device, it will work with a shared serial port modem pool. 
  3429. This allows you to have modems on a server that users can access from their 
  3430. workstations. This can save a considerable about of money. 
  3431.  
  3432. First the ibmlan.ini file, on the Server and the Requesters, must be edited in 
  3433. order to operate Pmcomm in a modem pool. The "charwait" variable must be 
  3434. changed from it's default setting of 3600 to a setting of 3 and then re-boot 
  3435. the Server and all of the Requesters. 
  3436.  
  3437. The following is a flash from IBMLink on how to setup a modem pool using Pmcomm 
  3438. and Lan Server. 
  3439.  
  3440. The rest of this scenario concerns the OS/2 LAN Server definitions. When LAN 
  3441. Server definitions and actions are complete, defined users at any OS/2 
  3442. Requestor can run the program from the OS/2 Public Applications Window. The 
  3443. serial port and modem at the LAN Server will be shared. To begin, logon as an 
  3444. administrator in the proper domain. Then follow instructions for the following: 
  3445.  
  3446.  
  3447.  a. Defining the shared modem 
  3448.  b. Defining the shared program files 
  3449.  c. Defining the program as a public OS/2 application 
  3450.  d. Defining the working directory 
  3451.  e. Sharing the modem and the program 
  3452.  f. Assigning the modem and the program to the users as they log on. 
  3453.  
  3454.  DEFINING THE SHARED MODEM 
  3455.    Follow this sequence: 
  3456.  
  3457.    DEFINITION 
  3458.    ALIASES 
  3459.    SERIAL DEVICES 
  3460.    --NEW-- (With cursor on --NEW--, press space bar to 
  3461.    choose, press enter or click on ACTION) 
  3462.    CREATE(Create a serial device alias - I used an 
  3463.        alias of MODEM1, chose COM1 from the device 
  3464.        pool using F4 for the list, and choose to 
  3465.        share the port at server startup) 
  3466.  
  3467.  
  3468.  *-----------------------------------------------------------* 
  3469.  
  3470.                Create Alias - Serial Device 
  3471.  
  3472.    Complete the panel; then Enter. 
  3473.  
  3474.    Alias . . . . . . . . . . . . . . . MODEM1 
  3475.    Description . . . . . . . . . . . . Shared modem 
  3476.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3477.    Server Device Pool. . . . . . . . . COM1 
  3478.    Priority. . . . . . . . . . . . . . 5 (chosen arbitrarily) 
  3479.    Maximum number of users . . . . . . (Number of shared serial ports) 
  3480.    When shared . . . . . . . . . > At server startup 
  3481.  
  3482.  |-----------------------------------------------------------| 
  3483.  
  3484.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3485.  
  3486.  *-----------------------------------------------------------* 
  3487.  
  3488.  DEFINING THE SHARED PROGRAM FILES 
  3489.  Follow this sequence: 
  3490.    DEFINITION 
  3491.    ALIASES 
  3492.    FILES 
  3493.    --NEW-- (With cursor on --NEW--, press space bar to 
  3494.        choose, press enter or click on ACTION) 
  3495.    CREATE (Create the file alias) 
  3496.  
  3497.  *---------------------------------------------------------* 
  3498.  
  3499.                Create Alias - Files 
  3500.  
  3501.    Complete the panel; then Enter. 
  3502.  
  3503.    Alias . . . . . . . . . . . . . . . PMCOMM 
  3504.    Description . . . . . . . . . . . . Program to access shared modem 
  3505.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3506.    Server Path to Directory. . . . . . :OS2:ASYNC:PMCOMM 
  3507.  
  3508.    Maximum number of users . . . . . . (left blank) 
  3509.    When shared . . . . . . . . . > At server startup 
  3510.  
  3511.  |---------------------------------------------------------| 
  3512.  
  3513.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3514.  
  3515.  *---------------------------------------------------------* 
  3516.  
  3517.  DEFINING THE PROGRAM AS A PUBLIC OS/2 APPLICATION 
  3518.  Follow this sequence: 
  3519.    DEFINITION 
  3520.    APPLICATION 
  3521.    PUBLIC OS/2 APPLICATION 
  3522.    --NEW-- (With cursor on --NEW--, press space bar to 
  3523.      choose, press enter or click on ACTION) 
  3524.    CREATE 
  3525.  
  3526.  *----------------------------------------------------------* 
  3527.  
  3528.                Create OS/2 Application Details 
  3529.  
  3530.    Complete the panel; then Enter. 
  3531.  
  3532.    Application ID. . . . . . . . . . . PMCOMMX 
  3533.    Description . . . . . . . . . . . . Shared modem communications 
  3534.    Program location. . . . . . . . . . Remote 
  3535.    Drive or alias. . . . . . . . . . . PMCOMM 
  3536.    Remaining path to program . . . . . : 
  3537.    Command line. . . . . . . . . . . . PMCOMM.EXE 
  3538.    Prompt used for parameters? . . . . NO 
  3539.    Program type. . . . . . . . . . . . OS/2 PM 
  3540.  
  3541.  |----------------------------------------------------------| 
  3542.  
  3543.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3544.  
  3545.  *----------------------------------------------------------* 
  3546.  
  3547.  DEFINING THE WORKING DIRECTORY 
  3548.  
  3549.  PMCOMM has support files that should reside in the working directory at 
  3550.  the server. If this directory is not assigned, each user must have these 
  3551.  files on their own  disk. 
  3552.  
  3553.    Follow this sequence: 
  3554.    DEFINITION 
  3555.    APPLICATION 
  3556.    PUBLIC OS/2 APPLICATION 
  3557.    --PMCOMMX-- (With cursor on --PMCOMMX--, press space 
  3558.      bar to choose, press enter or click on 
  3559.      ACTION) 
  3560.    WORKING DIRECTORY 
  3561.  
  3562.  *---------------------------------------------------------* 
  3563.  
  3564.                    Working Directory 
  3565.  
  3566.    Complete the panel; then Enter. 
  3567.  
  3568.    Working Directory . . . . . . . . . REMOTE 
  3569.    Drive or alias. . . . . . . . . . . PMCOMM 
  3570.    Remaining path to program . . . . . : 
  3571.    Assigned Drive. . . . . . . . . . . P (chosen arbitrarily) 
  3572.  
  3573.  |---------------------------------------------------------| 
  3574.  
  3575.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3576.  
  3577.  *---------------------------------------------------------* 
  3578.  
  3579.  SHARING THE PROGRAM AND THE MODEM 
  3580.    Follow this sequence: 
  3581.    ACTION 
  3582.    RESOURCE SHARING 
  3583.    --PMCOMM-- (With cursor on --PMCOMM--, press spacebar 
  3584.        to choose, press enter or click on ACTION) 
  3585.    START SHARING 
  3586.    --MODEM1-- (With cursor on --MODEM1--, press spacebar 
  3587.        to choose, press enter or click on ACTION) 
  3588.    START SHARING 
  3589.  
  3590.  ASSIGNING RESOURCES TO USERS AS THEY LOG ON 
  3591.  
  3592.    Follow this sequence for each user, to assign MODEM1 as a user 
  3593.        logs on: 
  3594.    DEFINITION 
  3595.    USERS 
  3596.    -- User -- (With cursor on the user name, press F10) 
  3597.    LOGON 
  3598.    SERIAL DEVICE ASSIGNMENTS 
  3599.    Assign MODEM1 to a COM port 
  3600.  
  3601.    Follow this sequence for each user, to copy the program to the user's 
  3602.  
  3603.    START PROGRAMS window: 
  3604.    DEFINITION 
  3605.    USERS 
  3606.    -- User -- (With cursor on the user name, press spacebar 
  3607.        to choose, press enter or click on ACTION) 
  3608.    PROGRAM STARTER 
  3609.    --PMCOMMX-- (With cursor on --PMCOMMX-- press the 
  3610.        spacebar to choose) 
  3611.  
  3612.  
  3613. ΓòÉΓòÉΓòÉ 12.3. How to Use Pmcomm with IBMLink. ΓòÉΓòÉΓòÉ
  3614.  
  3615. If you have access to IBMLink (ask an IBM SE) you can use Pmcomm to call. The 
  3616. first thing you will need is a phone number that will work with Pmcomm. This 
  3617. type of number is call, an SS/EFS number. This stands for, Start Stop Enhanced 
  3618. Full Screen. It allows access to IBMLink through a 3708 protocol converter. To 
  3619. find a number in your area, ask your IBM SE, or order book number GC-34-22-34. 
  3620. It has a current list of all the public IBMLink phone numbers in it. 
  3621.  
  3622. Once you have the required phone number, you can add it to the Pmcomm dialing 
  3623. directory. You should set the Parity to Even,the Data bits to 7, and the Stop 
  3624. bits to 1. The terminal type should be set to VT100. Once connected you will 
  3625. see a prompt that asks you for your terminal type. If you press enter now it 
  3626. will display a list of available terminals. The best choice here is to select 
  3627. VT220, which is selection 18. Pmcomm supports most of the VT220 commands when 
  3628. in VT100 mode, and it supports all that are used with IBMLink. By selecting 
  3629. VT220 you are able to use additional commands that are not available with 
  3630. VT100. If you select VT220 the first nine PF keys will be the numeric key pad 
  3631. keys (the num lock must be off). For example, PF1 will be the 1 on the key pad, 
  3632. PF2 will be 2 and so on. For PF10 it will be the F1 key, PF11 will be the F2 
  3633. key and PF12 will be the F3 key. To do a reset press the Ctrl-R and to do a 
  3634. clear press the Ctrl-C. 
  3635.  
  3636. Once logged onto IBMLink just follow the prompts and you shouldn't have any 
  3637. problem. 
  3638.  
  3639.  
  3640. ΓòÉΓòÉΓòÉ 12.4. How to Use Pmcomm with ESDTools. ΓòÉΓòÉΓòÉ
  3641.  
  3642. Once you are logged onto ESDTools and have selected the files you wish to 
  3643. receive, press the PF9 key (using VT220 this is the 9 on the numeric keypad). 
  3644. ESDTools will then ask you which drive you will be receiving the file to. 
  3645. Choose any drive as this parameter will be ignored by Pmcomm. You will then be 
  3646. prompted for the operating system, select OS/2. The last selection will be for 
  3647. the type of connection (i.e. Asynch ect...), select the appropriate connection 
  3648. type. ESDTools will then tell you not to press the enter key until prompted to 
  3649. do so by your communications software. At this time select Transfer, Download 
  3650. from the Pmcomm menu. Once the transfer has completed you can then press the 
  3651. enter key to return to the file list menu. 
  3652.  
  3653.  
  3654. ΓòÉΓòÉΓòÉ 12.5. How to Use a REXX program as a script. ΓòÉΓòÉΓòÉ
  3655.  
  3656. A REXX program can be executed from Pmcomm by entering the name of the program 
  3657. name directly into the dialing_directory or from the start script menu. A REXX 
  3658. program can also be started by using the shell command in a macro. An example 
  3659. of this would be: 
  3660.  
  3661. shell("c:\pmcomm\plane.cmd"); 
  3662.  
  3663. This would execute the REXX script called plane.cmd. This allows you a quick 
  3664. and easy way to execute often used scripts. 
  3665.  
  3666.  
  3667. ΓòÉΓòÉΓòÉ 12.6. How to Use drag and drop. ΓòÉΓòÉΓòÉ
  3668.  
  3669. When files are dragged from the file manager and dropped onto Pmcomm's terminal 
  3670. emulation screen, the transfer protocol that is listed for that phone number 
  3671. will be invoked and the file(s) will be sent to the remote computer. If you 
  3672. have Monitor_DCD selected then drag options will not be allowed until connected 
  3673. with another computer. 
  3674.  
  3675. To drag files from the file manager, select a file (or files) and then click on 
  3676. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  3677. you have begun to drag the files with the mouse the mouse pointer will change 
  3678. shape. If the mouse pointer is over a program that does not accept drag and 
  3679. drop the pointer will again change shape. When the mouse pointer is over any 
  3680. part of Pmcomm you can release the right mouse button. This will drop the files 
  3681. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  3682. icon. 
  3683.  
  3684. To change the protocol for the current phone number, select upload from the 
  3685. menu and then select the protocol you want (make sure that the save to dialing 
  3686. directory is selected). After pressing the OK button the file open dialog box 
  3687. will be displayed. Just press cancel and you can now use the drag and drop with 
  3688. the new protocol. 
  3689.  
  3690. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  3691. will be used as a setup file, and Pmcomm will be invoked. 
  3692.  
  3693. The drag and drop feature is also available for two of the icons on the Status 
  3694. Line. For more information see Status_Line. 
  3695.  
  3696.  
  3697. ΓòÉΓòÉΓòÉ 13. Troubleshooting. ΓòÉΓòÉΓòÉ
  3698.  
  3699. Following are some problems that may occur when using Pmcomm. 
  3700.  
  3701.  
  3702. ΓòÉΓòÉΓòÉ 13.1. Device Open error. ΓòÉΓòÉΓòÉ
  3703.  
  3704. This message is displayed if Pmcomm can not open the specified device. If you 
  3705. are trying to open COM1, for example, and another program already has it open 
  3706. then this message will be displayed. If you are using the com ports on the 
  3707. machine you are running Pmcomm on (not across a LAN). Then you must have the 
  3708. com port device driver installed. There are two device drivers supplied with 
  3709. OS/2, com02.sys (for IBM PS/2's), and com01.sys for AT class machines. If you 
  3710. are running a PS/2, for example, you should have a statement in your config.sys 
  3711. file, DEVICE=C:\OS2\COM02.SYS. If not you will get the device open error. The 
  3712. default when installing OS/2 is not to install the device driver, so make sure 
  3713. that you either have, DEVICE=C:OS2\COM02.SYS or DEVICE=C:\OS2\COM01.SYS in your 
  3714. config.sys file. 
  3715.  
  3716. If you get this message when trying to access a com port on a server, refer to 
  3717. the Modem_Pool section. One of the common problems is not first logging onto 
  3718. the network before trying to access the com port. Also make sure you use Alias 
  3719. names that don't conflict with names on the local machine. For example don't 
  3720. try to use the name COM1 for the name of the remote com port. Instead use a 
  3721. name like MODEM1 or PMCOMM1. 
  3722.  
  3723.  
  3724. ΓòÉΓòÉΓòÉ 13.2. File transfers not available. ΓòÉΓòÉΓòÉ
  3725.  
  3726. If you have Monitor_DCD turned on under Port Options and Pmcomm does not detect 
  3727. DCD then the upload and download options will be greyed out. You can turn the 
  3728. Monitor DCD option off and you will then be able to transfer files. Some common 
  3729. reasons for Pmcomm not being able to detect are: 
  3730.  
  3731.  Serial cable that does not support the DCD line. 
  3732.  Modem not configured to have DCD follow the state of the phone line. 
  3733.  Modem does not support DCD. 
  3734.  
  3735.  The monitor DCD option should also be turned off if using Pmcomm with a modem 
  3736.  pool. 
  3737.  
  3738.  
  3739. ΓòÉΓòÉΓòÉ 13.3. Pmcomm will not dial out. ΓòÉΓòÉΓòÉ
  3740.  
  3741. The most common cause of this is a DOS program that has corrupted the com port. 
  3742. Compiled basic program that are executed in the DOS box, for example, will 
  3743. sometime poll the available devices. When this happens the com device driver is 
  3744. effected and Pmcomm will not be able to send information to the com port. When 
  3745. this happens you will have to IPL (boot) the computer. 
  3746.  
  3747.  
  3748. ΓòÉΓòÉΓòÉ 13.4. Typed characters do not echo to the screen. ΓòÉΓòÉΓòÉ
  3749.  
  3750. Some electronic information services, such as Genie, run in what is called 
  3751. "half-duplex" mode. When in this mode the typed characters are not echoed to 
  3752. the screen. Pmcomm's default mode is "full duplex" which lets the services, 
  3753. like Genie, echo the characters to the screen. To make Pmcomm echo the typed 
  3754. characters to the screen, select the Screen dialog box under the main Options 
  3755. menu and check local echo on. 
  3756.  
  3757.  
  3758. ΓòÉΓòÉΓòÉ 13.5. Help not available. ΓòÉΓòÉΓòÉ
  3759.  
  3760. This message will be displayed if Pmcomm can not find the pmcomm.hlp file in 
  3761. the current directory. If you have Pmcomm installed in a Group menu make sure 
  3762. that you have the working directory set to the directory that Pmcomm is 
  3763. installed in. 
  3764.  
  3765.  
  3766. ΓòÉΓòÉΓòÉ 13.6. Pmcomm locks with a shared serial port. ΓòÉΓòÉΓòÉ
  3767.  
  3768. If Pmcomm locks up when trying to access a shared serial port you must edit the 
  3769. ibmlan.ini file in the Server well as all of the Requesters. Change the 
  3770. variable "charwait" from its default of 3600, to 3 and then re-boot the Server 
  3771. and all of the Requesters.